情况如下:
我有一个以上的远程仓库--参考而言,假设一个是“alpha”仓库,我们最近设置了一个新的“beta”仓库,一些用户已经迁移到了这个仓库。
两个仓库都有一个“master”分支。
我该如何设置本地的“master”分支,使其自动尝试将代码推送和拉取到所有alpha和beta仓库中,而不需要每次手动指定要使用的远程仓库?
我需要澄清的是,我不想设置两个本地分支'master-alpha'和'master-beta',我希望相同的本地分支可以跟踪两个远程仓库。
情况如下:
我有一个以上的远程仓库--参考而言,假设一个是“alpha”仓库,我们最近设置了一个新的“beta”仓库,一些用户已经迁移到了这个仓库。
两个仓库都有一个“master”分支。
我该如何设置本地的“master”分支,使其自动尝试将代码推送和拉取到所有alpha和beta仓库中,而不需要每次手动指定要使用的远程仓库?
我需要澄清的是,我不想设置两个本地分支'master-alpha'和'master-beta',我希望相同的本地分支可以跟踪两个远程仓库。
我不认为只用一个git命令就能实现。
另一种选择是定义一个git别名,该别名将从一个存储库中拉取主分支,然后从另一个存储库中拉取主分支。
但如果两个主分支之间的提交历史有很大区别,那么这很快会导致大量冲突...
git config --global alias.pullall "!git pull origin1 && git pull origin2"
。然而,receive.denyNonFastForwards
配置是针对推送而非拉取的。 - VonCgit-list-upstream-commits
它不会进行拉取或合并,但它将查看所有远程分支,并显示哪些分支有你当前分支上没有的提交。