【问题标题】:Github: How do I keep clean branches for PRs while merging them locally?Github:如何在本地合并 PR 时保持干净的分支?
【发布时间】:2017-01-14 20:32:24
【问题描述】:

我在 Github 上有一个仓库的分支。

我正在创建各种小补丁。对于每个补丁,我都会创建一个本地分支并提交 PR。

现在我还需要将所有这些补丁合并在一起,以构建包含所有功能的本地版本。

  • 我应该将它们合并到我的本地 master 中吗?如果是这样,我将来在哪里分支?
  • 我能否以某种方式将新分支 B(新代码)基于我提交的 PR 的另一个分支 A(调整后的构建系统),并且仍然将它们分开?这意味着我为 B 提交了没有 AA 内容的 PR。

【问题讨论】:

    标签: git github merge pull-request


    【解决方案1】:

    我会创建一个单独的分支并将所有分支合并到其中以进行本地构建。如果您创建更多功能或仅更新其中一个分支,您也可以将它们合并到该分支。

    如果您愿意,您也可以使用本地主机来执行此操作。之后,您可以使用git checkout -b new-branch origin/master 创建新分支,它将使用名为 origin 的远程存储库中的 master 作为新分支的基础。

    不可能只为分支中包含的部分更改创建拉取请求。所以在将 A 合并到 B 之后(或基于 A 创建 B),来自 A 的更改也会发生在对 B 的 Pull 请求中。

    【讨论】:

      【解决方案2】:

      当在 github 的 master 中进行更改时,必须对本地 master 分支进行同步,这只是一个同步分支(永远不要在这里做任何开发)

      Github -> master    Sync    to    Local  -> master 
      

      案例 1:新功能开发

      • 用父级更新本地主分支
      • 从本地主分支git checkout -b new-feature-a创建一个新分支
      • 提交更改并将其推送到new-feature-a
      • 将 PR 提高到 Github->masternew-feature-a

      为个人贡献和更好的增强功能创建一个分支,并在Github->master 上安排定期构建。

      案例 2:构建和主分支分开

      • Github->master 为构建master-build 创建一个新分支
      • 合并到 Github->master 的所有更改都应与 master-build 同步,无论是 PR 还是定期,取决于构建运行的频率。

      单独的分支使代码保持简单。但是依赖分支代码应该是可用的。在这种情况下,B 包含对 A 的更改,它必须是连续的。

      在这种情况下,应该始终合并依赖的 PR。

      【讨论】:

      • 你的回答对我来说有点不清楚。究竟什么是“github 大师”。我的还是上游大师?还有什么是“本地主分支的父级”。
      猜你喜欢
      • 1970-01-01
      • 2017-03-21
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 2018-04-19
      • 2020-06-29
      • 2016-05-29
      相关资源
      最近更新 更多