将分支推送到多个遥控器

时间:2018-07-21 00:41:59

标签: git git-branch git-push

提供了两个远程存储库(A,B)和一个分支主控器(以及其他)。 第一个存储库A具有所有分支,而另一个存储库B必须具有一个唯一的masterB。

如何使用单个“ git push”命令将本地分支主机推送到两个远程存储库? (映射A:master-> master;映射B:master-> masterB)


到目前为止已尝试:

[remote "A"]
    url = <urlA>
    fetch = +refs/heads/*:refs/remotes/A/*
[remote "B"]
    url = <urlB>
    fetch = +refs/heads/*:refs/remotes/B/*
    push = master:masterB
[branch "master"]
    remote = A
    merge = refs/heads/master
    pushRemote = A
    pushRemote = B //this overrides the previous push remote; how can I use both ?

The reference说,可能有多个“ pushRemote”条目。

1 个答案:

答案 0 :(得分:1)

您的教程确实提到了:

  

然后git允许分支具有多个branch.<name>.pushRemote条目。
  您必须编辑.git/config文件以进行设置。

git config branch.<name>.pushRemote

开始看不到
  

在分支上时,它会覆盖 branch.<name>.remote以进行推送。
  它还会覆盖remote.pushDefault以便从分支<name>进行推送。

     

当您从一个地方(例如您的upstream)拉出并推到另一个地方(例如您自己的发布资源库)时,您需要设置remote.pushDefault以指定要全部推送到的遥控器分支,然后使用此选项为特定分支覆盖

因此,使用脚本来管理这种情况比调整git config设置要容易得多。