两个git库之间迁移_Git远程仓库迁移

我们在使用Git对项目进行管理时,有时候会遇到仓库迁移的需求,如从github迁移到自己搭建的私有Gitlab仓库。迁移步骤如下:

举例:

源库地址:git@github.xxx.com/groups:test.com.git

目标库地址:gitlab@gitlab.xxx.com/newgroups:newtest.com.git

1、克隆源版本库

在Shell执行如下命令:

git clone --bare git@github.xxx.com/groups:test.com.git

复制代码

命令执行结果如下:

Initialized empty Git repository in /home/test/test.com.git/

remote: Counting objects: 8569, done.

remote: Compressing objects: 100% (2606/2606), done.

remote: Total 8569 (delta 6374), reused 7917 (delta 5793)

Receiving objects: 100% (8569/8569), 83.36 MiB | 9.57 MiB/s, done.

Resolving deltas: 100% (6374/6374), done.

复制代码

2、设置目标仓库

1、将目标仓库master分支置为空,删除已经存在的文件(如果没有master,需先生成master分支,如添加README.md文件即可)

2、将master分支修改成UnProtected状态,也就是未保护状态。这个需要Git账号具有相应权限。修改位置项目->Settings->Repository->Protected Branches

点击Unprotect按钮即可取消master分支保护

3、将源Git镜像推送到目标库地址

进入克隆好的xxx.git文件夹中,执行命令:

git push --mirror gitlab@gitlab.xx.com:newgroups/newtest.com.git

复制代码

命令执行结果如下:

Counting objects: 8569, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (2025/2025), done.

Writing objects: 100% (8569/8569), 83.36 MiB | 28.47 MiB/s, done.

Total 8569 (delta 6374), reused 8569 (delta 6374)

To gitlab@github.meizu.com:private/ba.meizu.com.git

+ 5269023...ec9c11e master -> master (forced update)

* [new branch] feature/eco -> feature/eco

* [new branch] origin/feature/eco -> origin/feature/eco

复制代码

如上所示,完整的Git仓库就迁移归来了,包括记录和各个分支。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值