Git子模块网址已更改

时间:2016-03-09 21:23:32

标签: git url

我有一个git项目,它有一个git子模块。最近更改了子模块的URL。我已将.gitmodules和配置文件更改为指向新网址。我应该提交.gitmodules文件,以便下次我签出我的项目并执行 git子模块更新--init --recursive 我不会收到错误吗?

2 个答案:

答案 0 :(得分:1)

是的,在编辑.gitmodules之后,您应该提交并推送这些更改,以便所有人都可以使用此更改。否则,只有您的本地子模块会指向新的URL,而其他所有人仍然会使用旧的URL。

但是,您不需要承诺在本地更改网址,如果您未提交更改,git也会切换到新网址。

答案 1 :(得分:0)

  

没人谈论一个人必须提交的文件和方式

无需更改文件,同步/提交:现在可以通过一个新命令为您完成

在Git 2.25(2020年第一季度)中,“ git submodule”学习了一个子命令“ set-url ”。

请参见commit 26b0610Denton 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配置。