本地 Git 仓库关联多个远程仓库

常规情况下,一个本地仓库关联一个远程仓库,有时候为了在多个远程位置发布源码或进行备份,需要将本地仓库关联多个远程仓库。此时可以通过给已有的远程仓库额外添加一个 URL 地址,使本地仓库 push 的时候,同时推送到两个位置。

  1. 查看本地已关联的远程仓库 git remote -v
1
2
origin git@github.com:my-repo:first-git-repo/code.git (fetch)
origin git@github.com:my-repo:first-git-repo/code.git (push)
  1. 不额外添加远程仓库,只是给现有远程仓库添加额外的 URL
1
git remote set-url --add origin git@172.16.xx.xx:/home/second-git-repo/code.git
  1. 再次查看,发现多了个 push 的远程仓库地址
1
2
3
origin git@github.com:my-repo:first-git-repo/code.git (fetch)
origin git@github.com:my-repo:first-git-repo/code.git (push)
origin git@172.16.xx.xx:/home/second-git-repo/code.git (push)

实现原理:并没有增加远程仓库的数目,而是给一个远程仓库赋予多个地址,这样每次本地 push 后,同时推送到多个地址。