下面是我的 .gitmodules
文件的一部分内容:
[submodule "src/static_management"]
path = src/static_management
url = git://github.com/eykd/django-static-management.git
[submodule "external/pyfacebook"]
path = external/pyfacebook
url = http://github.com/sciyoshi/pyfacebook.git
然而,.git/config
只包含第一个:
[submodule "src/static_management"]
url = git://github.com/eykd/django-static-management.git
第二个子模块(external/pyfacebook
)是由另一个开发人员在一个特性分支中添加的。我现在已经继承了这个开发,并且已经检查了特性分支。但是,Git 不会为我提取子模块。我试过了:
git submodule init
git submodule update
git submodule update --init
git submodule sync
.git/config
中移除所有子模块定义并运行 git submodule init
。它只复制以前存在的子模块,并忽略新的子模块。.git/config
中手动输入新的子模块定义并运行 git submodule update
。只有以前存在的子模块需要更新。但是 git 不会根据 .gitmodules
的新内容更新 .git/config
,也不会创建 external/pyfacebook
文件夹并拉出子模块的内容。
我遗漏了什么? 真的需要手动干预(手动向 .git/config
添加子模块条目)吗? 为什么?
编辑: 手动干预不起作用。手动将新的子模块条目添加到 .git/config
中不会做任何事情。新的子模块将被忽略。