问题 如何使用Git跟踪给定分支的多个远程?


情况是这样的:

我有多个远程存储库 - 供参考,假设一个是“alpha”存储库,我们最近建立了一个新的“beta”存储库,一些用户已迁移到该存储库。

两个存储库都有一个“主”分支。

如何设置我的本地主人,以便它会尝试自动推送和拨出  阿尔法  测试版存储库,没有手动指定我想要每次使用的遥控器?

我应该详细说明我不想设置两个本地分支'master-alpha'和'master-beta',我想要 相同 本地分支跟踪两个遥控器。


1883
2017-11-26 04:13


起源

可能重复 从多个远程位置拉/推 - RedX


答案:


我不认为使用一个git命令是可能的。
另一种选择是定义一个git别名,它将从一个repo中拉出master,然后从另一个git pull master。

但如果两位大师之间的提交历史差异太大,那很快就会导致大量的冲突......


10
2017-11-26 05:18



你会推荐什么样的别名?我认为最合理的约束是我们只需要考虑快进案例 - 其他任何事情都应该导致命令失败,迫使我单独拉出每个遥控器。 - Arafangion
@Arafangion:最初,我讲的是一个天真的别名 git config --global alias.pullall "!git pull origin1 && git pull origin2"。但是,那 receive.denyNonFastForwards 配置是推送,而不是拉... - VonC
看起来我可能只需要破解快速shell脚本来完成工作,然后拉动每个遥控器直到检测到正在进行合并。 - Arafangion
@Arafangion:是的但是你需要考虑第一次拉动工作的情况,第二次没有:完全复位到之前 第一 拉需要。 - VonC
一个很好的观点 - 谢谢。 - Arafangion