我有一个项目,我将git子模块添加到过期的repo的fork中。我决定将子模块引用更改为指向原始仓库,而不是指向该分支。
我修改了.gitmodules
文件以反映新参考文件并运行git submodule init
和git submodule update --recursive
但是没有效果,我在这里错过了一步吗?
答案 0 :(得分:1)
neevek mentions .git/config
以及git config
的文档证实:
submodule..path submodule..url submodule..update
此项目中的路径,URL和子模块的更新策略 这些变量最初由
git submodule init
填充; 修改它们以覆盖.gitmodules
文件中的网址和其他值。
所以:
.gitmodules
中的值是不够的(.git/config
中的网址将具有优先权。)git submodule init
,正如文档中提到的那样,不会改变.git/config
中的现有信息(这也解释了为什么您的命令没有任何明显效果)。 />
然后,您可以在.git/config
中为您的本地设置自定义子模块克隆网址,然后继续git submodule update
。我个人认为这个网址重复有点令人困惑......