Git 多仓库分支同步

今天遇到一个 git 远程仓库分支同步的问题,主要的诉求是将两个远程仓库的分支同步到一致状态。起初,项目只是在 GitHub 上进行维护,后期又在 GitLab 上创建了该项目,并且两个仓库之间的分支情况有所不同。我们可以使用如下命令同步两个远程仓库之间的分支信息。

1
2
3
$ git fetch --all -p
$ git push github "refs/remotes/gitlab/*:refs/heads/*"
$ git push gitlab "refs/remotes/github/*:refs/heads/*"

备注: github 指向远端的 GitHub 项目地址,同理,gitlab 指向远端的 GitLab 项目地址。