Git 如何将本地分支链接到相应的远程分支,并避免/限制不必要的本地推送到不同的分支?

Git 如何将本地分支链接到相应的远程分支,并避免/限制不必要的本地推送到不同的分支?,git,branch,git-push,git-pull,Git,Branch,Git Push,Git Pull,想象一下这个基本场景: 我有4个本地分支机构,名为dev brA dev brB prod brA prod brB 我还有两个远程分支来源/brA来源/brB 我想得到的是: -本地prod brA可以推到原点/brA而不是原点/brB,并且原点/brA将是prod brA推拉操作的默认值 -本地产品brB可以推送到原点/brA而不是原点/brA,并且原点/brB将是产品brB推拉操作的默认值 注意:远程设备不在github上,而是在裸共享回购上 换句话说,我不希望本地远程推拉操作无法跨越

想象一下这个基本场景:

  • 我有4个本地分支机构,名为dev brA dev brB prod brA prod brB
  • 我还有两个远程分支来源/brA来源/brB
我想得到的是: -本地prod brA可以推到原点/brA而不是原点/brB,并且原点/brA将是prod brA推拉操作的默认值 -本地产品brB可以推送到原点/brA而不是原点/brA,并且原点/brB将是产品brB推拉操作的默认值

注意:远程设备不在github上,而是在裸共享回购上

换句话说,我不希望本地远程推拉操作无法跨越。如果我想把A和B混合在一起,我只会在本地合并

如何设置.git/config文件来设置它


非常感谢

您可以使用以下设置默认跟踪分支:

$ git branch -u origin/brA prod-brA
这将设置当推/拉操作用于给定本地分支(prod brA)时将使用的默认远程分支(原点/brA)


我认为没有任何方法可以阻止一个分支使用Git推送到另一个分支(如果您有存储库主机,也许可以在您的存储库主机上设置这些规则),但是如果您正确设置远程跟踪分支,您将无法意外地推/拉到错误的存储库,我想这就是你想要避免的。

谢谢。对于默认的推/拉,这是可以的。例如,您建议如何设置远程共享存储库以防止未经授权的分支推送到源/主存储库?设置用户/权限是获得此权限的唯一方法吗?我不明白,您是否希望阻止某些用户推送到源/主?或者阻止某人推另一个分支?如果是后者,为什么这是一个问题?您应该只将本地主分支推送到origin/master,而不是任何其他分支。