【问题标题】:How to track more than one remote with a given branch using Git?如何使用 Git 跟踪具有给定分支的多个遥控器?
【发布时间】:2011-05-16 00:18:06
【问题描述】:

情况是这样的:

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

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

我如何设置我的本地主机,以便它会尝试自动推入和拉出 两个 alpha beta 存储库,而无需手动指定远程我想每次都用吗?

我应该详细说明一下,我不想设置两个本地分支“master-alpha”和“master-beta”,我希望 same 本地分支跟踪两个远程。

【问题讨论】:

标签: git


【解决方案1】:

我认为一个 git 命令是不可能的。
另一种选择是定义一个 git 别名,该别名将 git pull master 从一个 repo 中提取,然后 git pull master 从另一个 repo 中提取。

但是如果两个master之间的commit历史差异太大,那很快就会导致大量的冲突......

【讨论】:

  • 你会推荐什么样的别名?我想最合理的限制是我们只需要考虑快进的情况——其他任何事情都会导致命令失败,迫使我单独拉动每个遥控器。
  • @Arafangion:最初,我想的是像git config --global alias.pullall "!git pull origin1 && git pull origin2" 这样的幼稚别名。但是,receive.denyNonFastForwards 配置用于推送,而不是拉...
  • 看起来我可能只需要编写一个快速的 shell 脚本来完成这项工作,然后拉动每个遥控器,直到检测到正在进行的合并。
  • @Arafangion: true 但您需要考虑第一次拉动有效而第二次无效的情况:完全重置到 first 拉动之前将需要。
猜你喜欢
  • 2016-11-08
  • 2014-08-22
  • 2010-10-02
  • 2018-06-25
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 2021-03-21
相关资源
最近更新 更多