这是我.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有多种组合,但是git不会.git/config
根据的新内容进行更新.gitmodules
,也不会创建external/pyfacebook
文件夹并提取子模块的内容。
我想念什么?是否.git/config
确实需要手动干预(将手工添加子模块条目),为什么?
编辑:手动干预不起作用。手动将新的子模块条目添加到.git/config
不会执行任何操作。新的子模块将被忽略。