git迁移项目到其他代码仓库,且保留分支与提交记录。
问题场景
需要把云效代码仓库的某些项目,迁移到公司内部的代码仓库。且需要保留迁移项目的分支和提交记录。
解决方法
百度各种方法,并不停本地测试,结合以往gitlab操作经验解决。
迁移脚本
执行前需要,提前在其他代码仓库里新建好项目(New Project),得到Rename repository Path。
git clone --bare ssh://需要迁移的项目地址/项目.git
cd 项目.git
git push --mirror ssh://其他代码仓库地址/新项目名称.git
执行逻辑
1.根据远端仓库项目下载地址,clone指定项目的裸版本库到本地(自动创建裸版本库项目.git文件夹);
2.进入需要迁移项目的裸版本库文件夹;
3.以镜像的方式推送到新项目中.
操作截图
1.新建迁移项目
2.复制新项目clone地址
3.调整并执行脚本
git clone --bare https://codeup.xxxx.xxx/xxxxxx1/xxx/xxt-txxxk-sdk.git
cd xxt-txxxk-sdk.git
git push --mirror ssh://git@gitlab.xxxx.xxx/axx/new-project.git