如何使用 gerrit 审查复杂的 cherry-picks

How to review complex cherry-picks with gerrit

我有两个分支:masterrelease。现在我想从 release 分支中挑选提交 ABCD 回到 master。这些提交不是连续的,所以我不能使用 ^ 语法。我做到了:

现在,审核没有冲突文件列表。不可能看到冲突是什么以及我如何解决它们。结果,审稿人不得不重新审视这一巨大的变化并再次审阅所有内容。

这样可以做得很好吗?即:

看来没有办法了。我不得不使用辅助分支:

  • 我通过 git merge-base master release.
  • masterrelease 之间找到了基础合并提交
  • 在此提交时创建了一个分支。
  • 应用了我想要的所有 cherry-picked 提交。他们中的大多数应用得很好,没有冲突。
  • 将此分支合并回 master,解决了冲突。

这导致了可以在 gerrit 中轻松查看的合并提交。 Gerrit 允许根据 parents(即我的分支和 master)和 auto-merge 来区分补丁。审阅者可以看到冲突是如何解决的。