前言
打算使用 Gitee 做个镜像仓库,于是就有了 GitHub 和 Gitee 双向同步的需求。
主仓库和镜像仓库
GitHub 为主仓库,Gitee 为镜像仓库,所以需要实现从 GitHub 拉取,本地修改提交后同时推送到两个平台。
本地有一个仓库已经关联到了 GitHub 远程仓库,名为origin
。
$ git remote -v
origin git@github.com:P3TERX/img.git (fetch)
origin git@github.com:P3TERX/img.git (push)
把 Gitee 远程仓库的链接添加到origin
。
$ git remote set-url --add origin git@gitee.com:P3TERX/img.git
查看远程仓库信息:
$ git remote -v
origin git@github.com:P3TERX/img.git (fetch)
origin git@github.com:P3TERX/img.git (push)
origin git@gitee.com:P3TERX/img.git (push)
此时使用git pull
可以从 GitHub 上拉取,使用git push
可以同时推送到 GitHub 和 Gitee 。
分别拉取和推送
按照下面的方法设置后使用场景会灵活很多,比如可以从 GitHub 拉取,然后推送到 Gitee ,也可以反过来,真正做到双向同步。
添加 GitHub 远程仓库并命名为github
。
$ git remote add github git@github.com:P3TERX/img.git
添加 Gitee 远程仓库并命名为gitee
。
$ git remote add gitee git@gitee.com:P3TERX/img.git
查看远程仓库信息:
$ git remote -v
origin git@github.com:P3TERX/img.git (fetch)
origin git@github.com:P3TERX/img.git (push)
origin git@gitee.com:P3TERX/img.git (push)
gitee git@gitee.com:P3TERX/img.git (fetch)
gitee git@gitee.com:P3TERX/img.git (push)
github git@github.com:P3TERX/img.git (fetch)
github git@github.com:P3TERX/img.git (push)
此时使用以下命令就可以分别从两个远程仓库拉取和推送到两个远程仓库。
$ git pull github master
$ git pull gitee master
$ git push github master
$ git push gitee master
本文作者:P3TERX
本文链接:https://p3terx.com/archives/git-multi-remote-repository-management.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。
很好很实用 OωO