我有一个git项目,它有一个git子模块。最近更改了子模块的URL。我已将.gitmodules
和配置文件更改为指向新网址。我应该提交.gitmodules
文件,以便下次我签出我的项目并执行 git子模块更新--init --recursive 我不会收到错误吗?
答案 0 :(得分:1)
是的,在编辑.gitmodules
之后,您应该提交并推送这些更改,以便所有人都可以使用此更改。否则,只有您的本地子模块会指向新的URL,而其他所有人仍然会使用旧的URL。
但是,您不需要承诺在本地更改网址,如果您未提交更改,git
也会切换到新网址。
答案 1 :(得分:0)
没人谈论一个人必须提交的文件和方式
无需更改文件,同步/提交:现在可以通过一个新命令为您完成
。在Git 2.25(2020年第一季度)中,“ git submodule
”学习了一个子命令“ set-url
”。
请参见commit 26b0610的Denton Liu (Denton-L
)(2019年10月29日)。
(由Junio C Hamano -- gitster
--在commit 99c4ff1中合并,2019年12月10日)
submodule
:教导set-url子命令签名人:刘登顿
当前,如果子模块的上游URL发生更改,则用户必须手动更改
.gitmodules
文件中的URL,然后运行git submodule
sync
。
让我们简化该过程。教子模块
set-url
子命令,该子命令将自动更改submodule.$name.url
文件中的.gitmodules
属性,然后运行git submodule
sync
完成该过程。 / p>
git submodule
documentation现在包括:
set-url [--] <path> <newurl>:
将指定子模块的URL设置为
<newurl>
。
然后,它将自动同步子模块的新远程URL配置。