【问题标题】:How to link local branches to corresponding remote branches and avoid/limit unwanted local push to different branch?如何将本地分支链接到相应的远程分支并避免/限制不需要的本地推送到不同的分支?
【发布时间】:2015-12-19 07:42:18
【问题描述】:

想象一下这个基本场景:

  • 我有 4 个本地分支,名为 dev-brA dev-brB prod-brA prod-brB
  • 我还有 2 个远程分支 origin/brA origin/brB

我想得到的是: - 本地 prod-brA 可能会推送到 origin/brA 而不是 origin/brB,并且 origin/brA 将是 prod-brA 的推拉动作的默认值 - 本地 prod-brB 可能会推送到 origin/brA 而不是 origin/brA,并且 origin/brB 将是 prod-brB 的推拉动作的默认值

注意:遥控器不在 github 上,而是在裸共享 repo 上

换句话说,我不希望本地远程推拉动作不会跨越。如果我想将 A 与 B 混合,我只会通过合并在本地进行。

您将如何设置 .git/config 文件来进行设置?

非常感谢

【问题讨论】:

    标签: git branch git-push git-pull


    【解决方案1】:

    你可以设置一个默认的跟踪分支:

    $ git branch -u origin/brA prod-brA
    

    这将设置默认的远程分支 (origin/brA),当推/拉操作与给定的本地分支 (prod-brA) 一起使用时将使用该分支。

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

    【讨论】:

    • 谢谢。默认推/拉没问题。例如,您如何建议设置远程共享存储库以防止未经授权的分支推送到源/主?是通过设置用户/权限来获得这个的唯一方法吗?
    • 我不明白,你想阻止某些用户推送到 origin/master 吗?或者阻止某人推送一个不同的分支?如果是后者,为什么会出现问题?您应该只将本地 master 分支推送到 origin/master,而不是其他任何地方。
    猜你喜欢
    • 2015-04-02
    • 2018-10-02
    • 1970-01-01
    • 2012-03-30
    • 2016-10-25
    • 2021-07-14
    • 1970-01-01
    • 2018-12-20
    • 2021-09-13
    相关资源
    最近更新 更多