【Git】git push --mirror 迁移项目到其他代码仓库,且保留分支与提交记录。

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地址
【Git】git push --mirror 迁移项目到其他代码仓库,且保留分支与提交记录。_第1张图片
【Git】git push --mirror 迁移项目到其他代码仓库,且保留分支与提交记录。_第2张图片
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

你可能感兴趣的:(git,github,ssh)