现在,我必须将子模块存储库从github移植到bitbucket,并删除github中的子模块存储库。这个动作会破坏我在超级存储库中的提交吗?超级存储库提交不在提交中存储子模块的url信息吗?
示例场景 :
c67061d7710e699a191965a02d9d0da341d87117 在子模块中,它在许多提交中都在超级存储库中引用。我想把提交的引用从
c67061d7710e699a191965a02d9d0da341d87117
到
bitbucketserver/树/c67061d7710e699a191965a02d9d0da341d87117
在超级存储库中包含的所有提交中 c67061d7710e699a191965a02d9d0da341d87117型
c67061d7710e699a191965a02d9d0da341d87117型
我在其他stackoverflow问题中了解了如何更新子模块的url here . 但是他们并没有明确提到url更新是否会更改所有提交中的引用,或者仅仅更改此类操作之后的提交。
好消息是,从长远来看,这将很好地工作,因为您将把所有历史记录从github移动到bitbucket,并适当地更新您的日志 .gitmodules 文件。一旦你这么做,新的结帐和 git submodule init 会很好的。
.gitmodules
git submodule init
坏消息是现有的签出将继续使用旧的远程URL,所以 git submodule update 会开始失败。要解决这个问题,您必须告诉所有签出您的存储库的人运行 git submodule sync
git submodule update
git submodule sync