为了账号安全,请及时绑定邮箱和手机立即绑定

终端下如何配置 git 使其可以同时 push 到两个远程仓库?

终端下如何配置 git 使其可以同时 push 到两个远程仓库?

Cats萌萌 2019-04-14 09:52:08
[remote"origin"]url=git@github.com:SegmentFault/XXX.gitfetch=+refs/heads/*:refs/remotes/origin/*[remote"dev"]url=git@gitlab.com:root/XXX.gitfetch=+refs/heads/*:refs/remotes/dev/*config中配置了两个远程仓库。我想终端下一句gitpush同时把代码提交到两个仓库,该怎么做?
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

我用过两种方法,最早的时候是设定多个remote,然后写一个alias,比如:
$gitconfigalias.pushall"!gitpushorigin&&gitpushdev"
后来在某一个版本(忘了具体的版本号)升级之后,Git多了一项设置,使得你可以为一个remote设置多个pushurl。比如说你问题里的例子,我可以不要remote"dev",只留下remote"origin",然后加一句:
gitremote--set-url--add--pushorigingit@gitlab.com:root/XXX.git
在这之后,你的remote"origin"就变成类似如下的结构:
[remote"origin"]
url=git@github.com:SegmentFault/XXX.git
fetch=+refs/heads/*:refs/remotes/origin/*
pushurl=git@github.com:SegmentFault/XXX.git
pushurl=git@gitlab.com:root/XXX.git
如此一来,我可以直接gitpushorigin就可以推向两个repos了。
这两种方法其实各有各的适用场景,自己取舍吧。
                            
查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 300 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信