常规情况下,一个本地仓库关联一个远程仓库,有时候为了在多个远程位置发布源码或进行备份,需要将本地仓库关联多个远程仓库。此时可以通过给已有的远程仓库额外添加一个 URL 地址,使本地仓库 push 的时候,同时推送到两个位置。
- 查看本地已关联的远程仓库
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)
|
- 不额外添加远程仓库,只是给现有远程仓库添加额外的 URL
1
| git remote set-url --add origin git@172.16.xx.xx:/home/second-git-repo/code.git
|
- 再次查看,发现多了个 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 后,同时推送到多个地址。