参考:https://stackoverflow.com/questions/16728866/how-to-only-update-specific-git-submodules
解决
使用git submodule update <specific path to submodule>
specific path to submodule可以从.gitmodules
文件里找到。
举例:
比如gitmodules里面内容是:
[submodule "src/home_robot/home_robot/perception/detection/detic/Detic"]
path = src/home_robot/home_robot/perception/detection/detic/Detic
url = https://github.com/facebookresearch/Detic.git
[submodule "src/third_party/habitat-lab"]
path = src/third_party/habitat-lab
url = https://github.com/facebookresearch/habitat-lab
[submodule "src/home_robot/home_robot/agent/imagenav_agent/SuperGluePretrainedNetwork"]
path = src/home_robot/home_robot/agent/imagenav_agent/SuperGluePretrainedNetwork
url = https://github.com/mukulkhanna/SuperGluePretrainedNetwork.git
你想要只下载src/third_party/habitat-lab
这个那就直接git submodule update src/third_party/habitat-lab
.
如果他提示还没初始化,那就带上init参数git submodule update --init src/third_party/habitat-lab
。
以上两条基本够用了。
删除加错了的submodule
git rm -rf <path to the module>
更多
-
--init:
初始化子模块 -
--recursive:
递归更新所有的子模块。