为什么 GitHub 中的合并拉取请求会创建重复提交?
Why merged pull request in GitHub creates duplicate commit?
在我的公司,我们要求开发人员在合并到 develop
之前压缩 feature
分支上的提交。压缩后,开发人员推送到 GitHub 并登录到 GitHub 以创建拉取请求。
合并拉取请求时,我们最终会在 develop
分支的历史记录中看到 两个 提交:
- 一个提交说 "merged pull request"
- 来自
feature
分支的单个压缩提交
为什么会这样?我们怎样才能避免呢?我读过类似的 Q&A about avoiding "merge commit hell",但我的目标是使用 GitHub UI 来创建、跟踪和讨论拉取请求。
您看到的提交是合并提交;通常,只要您进行非快进合并,这些都是由 git 自动创建的,但您也可以强制始终创建一个。当您使用合并按钮时,这就是 GitHub 所做的。
如果您不想合并提交,那么您需要将提交挑选到 master 上,而不是使用合并按钮。在 GitHub 网络 UI.
中无法执行此操作
编辑:GitHub 现已在其网站 UI 中添加了 squash and merge and rebase and merge 功能 UI:
在我的公司,我们要求开发人员在合并到 develop
之前压缩 feature
分支上的提交。压缩后,开发人员推送到 GitHub 并登录到 GitHub 以创建拉取请求。
合并拉取请求时,我们最终会在 develop
分支的历史记录中看到 两个 提交:
- 一个提交说 "merged pull request"
- 来自
feature
分支的单个压缩提交
为什么会这样?我们怎样才能避免呢?我读过类似的 Q&A about avoiding "merge commit hell",但我的目标是使用 GitHub UI 来创建、跟踪和讨论拉取请求。
您看到的提交是合并提交;通常,只要您进行非快进合并,这些都是由 git 自动创建的,但您也可以强制始终创建一个。当您使用合并按钮时,这就是 GitHub 所做的。
如果您不想合并提交,那么您需要将提交挑选到 master 上,而不是使用合并按钮。在 GitHub 网络 UI.
中无法执行此操作编辑:GitHub 现已在其网站 UI 中添加了 squash and merge and rebase and merge 功能 UI: