git 如何同步两个仓库

1. 首先通过git clone --mirror 将所有的分支都拉下来。

一般我们用git clone命令只会拉取master的最新信息。

但是使用--mirror会将所有分支内容都拉下来。

2. git remote update --prune origin

将远端已经删除的分支在本地清理掉。

这个可以参考这个博文:聊下 git remote prune origin_王清培-CSDN博客

3. git push -f --prune --all 目标仓库地址

git push -f --prune --all ssh://gerrit.../dest_repo_name

4. 同步tag

git tag --sort==-createordate | head -n2000 | git push -f ssh://gerrit.../dest_repo_name

最近发现一个迁移仓库的命令,特别简单。

场景:需要将一个平台(如gitlab)的仓库直接推送到另一个平台:如gerrit。

前提:需要有强制推送的权限。如果是往gitlab推送,需要把分支保护关闭。如果要往gerrit推送,需要给推送用户配置一个强制推送的权限。

三条命令:

git clone --bare 源git仓库地址  #源仓库

cd project.git/

git push --mirror 目标git仓库地址  #目标仓库

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值