如何在Git历史记录中合并拉取请求而不获取合并提交

Ach*_*DAY 8 git github

每次我将拉取请求合并到我的基本分支时,在Github上我得到一个额外的合并提交:

合并拉动请求#77 ...

我更喜欢在没有这些合并提交的情况下获得git历史记录.

我怎样才能做到这一点?

Ach*_*DAY 11

要获得没有任何拉取请求合并提交的git历史记录,我可以使用合并按钮(拉取请求页面)并执行rebase并合并:

在此输入图像描述

  • 问题是“挤压并合并”和“变基并合并”都会丢失 gpg 符号 (8认同)
  • 如果源分支基于目标分支,是否有办法阻止 GH 在此期间生成新的提交(使用新的哈希值)? (5认同)

Mar*_*ger 6

我永远不会理解(或者,我应该说,同意)所有坚持认为历史上合并“不那么干净”的人。但是好的,这里有您的选择:

  • 壁球
  • 变基
  • 合并

挤压将导致一个新的提交,代表主分支头部的所有更改。这是 rebase 的一个特例。

变基将在主分支的头部产生一个或多个新提交(其中任何一个或所有提交都可能处于“损坏”/不可构建状态 - 但是,嘿,这是您对干净的定义,而不是我的定义)。

合并会创建合并提交并保留真实发生的历史记录。

这是选项的文档:https : //github.com/blog/2243-rebase-and-merge-pull-requests

(是的,我知道外部链接不可靠的标准抱怨。如果 github 的站点消失了,那么这个问题无论如何都会变得没有意义;所以我不会重新输入他们的文档。)