在Github上压缩拉取请求

时间:2014-08-08 07:59:41

标签: git github

情景:

  • 有人在github上向我的回购提出拉取请求
  • 我将拉取请求本地拉到了功能分支
  • 重新分配分支并将所有提交压缩为一个好的
  • 使用--no-ff将功能分支合并到我的主控(“合并拉取请求#5 ..”)并推送到原点

问题是Github在pull请求中没有识别出这些rebase(现在应该关闭),显然是因为丢失了引用。

在这种情况下,最佳做法是什么?特别是如果我不想强迫贡献者手动压缩他的提交?

1 个答案:

答案 0 :(得分:1)

如果我理解/猜对了,你真正想要做的就是将压缩的合并提交更紧密地绑定到Pull Request,并自动关闭它。

我这样做的方法是添加"关闭#5" (建议:作为第一行)在上面的步骤3中提交说明。这将导致PR被压扁的提交关闭,并且GitHub在PR中添加了引用。另外,添加第二个" Closes#.."如果您的存储库中存在问题,那么此PR也会关闭。然后问题和PR都以相同的提交关闭,GitHub将引用压缩的提交。

执行此操作时,我更喜欢执行FF合并,因此每个PR只有一个主线提交。我替换了以下的默认" Squashed提交:"使用一个实际描述它正在做什么的主题(例如"添加功能来绘制使用统计数据"),然后让提交描述的第一行是Closes#行,然后将下面的压缩提交详细信息(假设您要保留这些)。