Git子模块:每个都可以有多个URL吗?

Sil*_*las 5 git version-control dvcs git-submodules

我想知道每个git子模块是否可以有多个URL.如果其中一个出现故障或有人在阻止其中一个的代理后面,那么它将有一个以上的来源.

你有过这个问题吗?你会如何解决它?

Von*_*onC 5

据我所知,一个子模块只有一个url,参考:

  • .gitmodules
     $ cat .gitmodules
     [submodule "a"]
             path = a
             url = /home/moses/subtut/public/a/.git
     [submodule "b"]
             path = b
             url = /home/moses/subtut/public/b/.git
  • 并在.git子模块的目录配置中

这意味着如果该URL已关闭,则可能必须在这两个位置进行更改,但我尚未测试该过程.


从好的注释Gattster

git submodule sync. 
Run Code Online (Sandbox Code Playgroud)

根据文件:

将子模块的远程URL配置设置与.gitmodules中指定的值同步.
当子模块URL更改上游并且您需要相应地更新本地存储库时,这非常有用.

  • " git submodule sync"同步所有子模块
  • 而" git submodule sync -- A"仅同步子模块"A".

话虽如此,修改.gitmodule可能更好地孤立地(即在分支中)完成,直到可以验证/发布那些新的URL.