改变底层回购地址

我有一个项目,我添加了一个git子模块到一个已过时的repo分支。 而不是指向那个分支,我决定改变子模块的引用来指向原始的仓库。

我编辑了.gitmodules文件以反映新的引用,并运行git submodule initgit submodule update --recursive但是没有效果,我在这里丢失了一个步骤吗?


neevek提到.git/config ,以及git config的文档证实:

子模块..路径子模块。子模块..更新

此项目中的路径,URL以及子模块的更新策略。
这些变量最初由git submodule init填充; 编辑它们以覆盖.gitmodules文件中的URL和其他值

所以:

  • 仅改变.gitmodules的值是不够的( .git/config的URL将具有优先权)。
  • 正如文档中提到的, git submodule init 不会改变.git/config现有信息 (这就解释了为什么你的命令没有任何可见的效果)。
    然后,您可以在.git/config为您的本地设置定制子模块克隆URL并继续进行git submodule update
  • 我个人发现这个网址重复有点令人困惑......

    链接地址: http://www.djcxy.com/p/92319.html

    上一篇: changing underlying repo address

    下一篇: How to push a modification on a git submodule without giving username/password