【发布时间】:2011-03-21 04:51:22
【问题描述】:
这是我的.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根本不会根据.gitmodules的新内容更新.git/config,也不会创建external/pyfacebook文件夹并拉取子模块的内容。
我错过了什么?是否真的需要手动干预(手动向.git/config 添加子模块条目),为什么?
编辑:手动干预不起作用。手动将新的子模块条目添加到 .git/config 不会做任何事情。新的子模块被忽略。
【问题讨论】:
-
运行 1.7.7.1 并遇到同样的问题:“git submodule sync”在更改为 .gitmodules 后不会更新 .git/config。
标签: git git-submodules