7

我想知道每个 git 子模块是否可以有多个 URL。如果其中一个已关闭或有人在阻止其中一个的代理后面,则拥有多个源会很感兴趣。

你有过这个问题吗?你会怎么解决?

4

2 回答 2

6

据我所知,一个子模块只有一个url,引用于:

  • .gitmodules
     $ 猫 .gitmodules
     [子模块“a”]
             路径 = 一个
             网址 = /home/moses/subtut/public/a/.git
     [子模块“b”]
             路径 = b
             网址 = /home/moses/subtut/public/b/.git
  • 并在.git子模块目录的配置中

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


来自Gattster的好评

git submodule sync. 

根据文档

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

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

话虽.gitmodule如此,在可以验证/发布这些新 url 之前,单独进行修改(即在分支中)可能会更好。

于 2010-01-06T19:12:36.440 回答
1

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

于 2010-01-06T19:12:19.340 回答