Github: 如何在本地合并 PR 时保持干净的分支?

Github: How do I keep clean branches for PRs while merging them locally?

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

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

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

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

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

无法仅针对分支中包含的部分更改创建拉取请求。因此,在将 A 合并到 B(或基于 A 创建 B)之后,A 的更改也会发生在 B 的 Pull 请求中。

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

Github -> master    Sync    to    Local  -> master 

案例一:新功能开发

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

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

案例 2:build 和 master 的单独分支

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

单独的分支使代码简单。但是依赖分支代码应该可用。在这种情况下,B 包含来自 A 的更改,并且必须按顺序进行。

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