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

时间:2010-01-06 19:05:48

标签: git version-control dvcs git-submodules

我想知道每个git子模块是否可以有多个URL。如果其中一个关闭或者有人阻止其中一个代理,那么它会有一个以上的来源。

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

2 个答案:

答案 0 :(得分: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目录的配置中

如果该网址已关闭,则可能必须在这两个位置进行更改,但我尚未测试该网址。


来自Gattster

的好评
git submodule sync. 

根据docs

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

  • git submodule sync”同步所有子模块
  • 而“git submodule sync -- A”仅同步子模块“A”。

话虽如此,修改.gitmodule可能会更好地孤立(即在分支中),直到可以验证/发布这些新网址。

答案 1 :(得分:1)

我不相信这是可能的。应该可以通过检查项目,初始化子模块,然后cd到子模块目录并将git远程源更新为新的存储库URL来手动执行此操作。