Git同时Push多个远端仓库

最近有需求将同一个本地仓库分别放到两个远端仓库(GitHub和Coding)。可以使用webhook,也可以在本地设置。

如果使用SSH推送且远端没有配置过SSH公钥的话,需要先到对应网站配置。

查看当前已有的远端仓库:

1
2
3
$git remote -v #查看当前远端仓库
origin git@github.com:user/repo.git (fetch)
origin git@github.com:user/repo.git (push)

增加名为both的远端并添加Coding和GitHub的SSH地址

1
2
3
4
5
6
$git remote add both git@git.coding.net:user/repo.git
# 添加一个名为 both 的远端
$git remote set-url --add --push both git@git.coding.net:user/repo.git
# 为其添加 push 到 Coding 的 SSH 地址
$git remote set-url --add --push both git@github.com:user/repo.git
# 为其添加 push 到 GitHub 的 SSH 地址

查看当前远端仓库:

1
2
3
4
5
6
$git remote -v #查看当前远端仓库
both git@git.coding.net:user/repo.git (fetch)
both git@git.coding.net:user/repo.git (push)
both git@github.com:user/repo.git (push)
origine git@git.coding.net:user/repo.git (fetch)
origine git@git.coding.net:user/repo.git (push)

完成以上步骤之后,即可使用以下方式向两个仓库推送代码:

1
$git push both