Gitlab:为什么“南瓜”合并会创建两个提交?

stk*_*flw 6 git gitlab

要重现它:

  1. 创建问题
  2. 从问题中打开合并请求(MR)
  3. 通过多次提交进行更改
  4. 检查“ squash commits”并合并MR

为什么这会在历史上创建两个完全相同的提交?

提交标题:

  1. 将分支'123-branch-name'合并为'dev'
  2. 全名

这有什么意义呢?

kow*_*sky 7

听起来您创建了一个包含更改的提交(commit Full Issue name)和一个合并提交,将来自该提交的更改合并到dev分支中。

通常为每个合并请求创建合并提交。可以通过选择例如instad 在Settings->中进行更改。这只会导致当前HEAD 上的一次提交,只有在可以快速转发的情况下才起作用。Merge Request SettingsFast Forward MergeMerge Commitdevdev

选中之前,将合并squash commits要合并的功能分支中的所有提交。因此,如果功能分支中有多个提交,则它们将被压缩为一个提交,然后将其合并,并按照您的描述创建一个合并提交(只要将合并请求设置设置为,请参见上文)。merge commit

关键是您可能希望看到更改是在其他分支上执行的。通过快速转发合并到的分支,而是创建合并请求来完成此操作。这显示两条开发线已合并,而快进合并(不创建合并提交)则不会。