合并前如何清理拉取请求?

时间:2017-10-31 13:54:15

标签: git github pull-request

我有一个与GitHub上的pull-request机制有关的问题。

Bob在其分支中提交了一些更改:

* Added feature foo 
* Added feature bar 
* Removed latency in baz

然后他创造了一个PR。爱丽丝和其他人拒绝公关并要求改变。 Bob添加了新的提交

* !fixup Added feature foo 
* !fixup Added feature bar 
* cosmetic change

他们又不高兴,他们要求更多改变,所以鲍勃生气了

* Again some change, please accept my PR 
* Damned, I forgot this...

最后我们有一些人都同意的东西,但我们有嘈杂的提交。所以还有三个选择:

  1. 我们接受PR,但所有提交都变得丑陋
  2. Bob rebase -ipush -f --force-with-lease(但公关会发生什么?)
  3. Bob关闭PR,在新分支上rebase -i然后创建一个新的PR。
  4. 什么是最佳选择?

    P.S。 squash不是一个选项,因为我们希望rebase提取请求,并保留包含foobar和延迟问题修复的初始三次提交。

1 个答案:

答案 0 :(得分:1)

第二个选项看起来不错。 pull请求将使用rebase -i操作中的新提交进行更新,替换之前的提交。这些新提交将在拉取请求的最后一条评论之后出现,这使评论者知道有新的提交需要审核(至少检查它是否与以前相同)。