最近项目要迁移到别的平台,这样就牵涉到如何迁移仓库的问题:
仓库迁移的步骤如下:
仓库迁移
下载原始仓库
git clone --bare git@xxxx1:repo_name.git
迁移到xxxx2平台
cd repo_name
git push --mirror ssh://git@xxxxx2/source/repo_name.git
但是我们的项目还有很多submodule,这该怎么办呢?
上网上查说直接修改.gitmodules文件的URL地址,然后再执行git submodule sync命令,就会将新的URL更新到文件.git/config中,我就照着理解的意思这样做了:
1、git clone ssh://git@xxxxx2/source/repo_name.git
2、更新.gitmodules文件的URL更新为新的URL
3、git submodule sync
结果失败
但是事实上总是出错,更新不成功URL,最后分析一下submodule的原理,原来执行步骤应该是这样的
1、git clone ssh://git@xxxxx2/source/repo_name.git
3、git submodule update --init --recursive(将submodule 的信息更新下来)
4、更新.gitmodules文件的URL更新为新的URL
5、git submodule sync
成功