这是我.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 initgit submodule updategit submodule update --initgit submodule sync- 从中删除所有子模块定义
.git/config并运行git submodule init。它仅复制先前存在的子模块,而忽略新的子模块。 .git/config手动输入新的子模块定义并运行git submodule update。仅先前存在的子模块需要更新。
git有多种组合,但是git不会.git/config根据的新内容进行更新.gitmodules,也不会创建external/pyfacebook文件夹并提取子模块的内容。
我想念什么?是否.git/config确实需要手动干预(将手工添加子模块条目),为什么?
编辑:手动干预不起作用。手动将新的子模块条目添加到.git/config不会执行任何操作。新的子模块将被忽略。