用例是我必须将某些存储库移动到新服务器。所以这些存储库会得到一个新的 url。
引用这些子模块的父项目需要使用子模块的新 url 进行更新。
我考虑做以下事情。
- 更新 .gitmodules 文件
- git 子模块同步
- git 子模块更新
- 提交并推送
但是,由于先前的提交具有早期版本的 .gitmodule,如果我签出父项目的先前提交 - 它不会查找旧服务器吗?
为了确保可重复性,我们需要让所有旧的提交都正常工作。
有什么想法可以解决这个问题吗?
中的网址.gitmodules
通常仅在初始化子模块时或在git submodule sync
。初始化时(git submodule init
),URL 被放入存储库的.git/config
,并且当子模块被克隆到位时(在git submodule update
) 要使用的 URL 取自配置。唯一一次该 URL 位于.gitmodules
当你运行时使用git submodule sync
,这将类似地更新配置中的 URL,但也会设置origin
在子模块中远程访问相同的 URL。
这意味着您在签出早期提交并运行时不会有任何问题git submodule update
- 遥控器origin
当您在父存储库中签出新提交时,子模块中的内容不会更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)