git rebase历史之后仍然不是线性的

时间:2019-02-04 12:20:37

标签: git gitlab rebase

这是我们的基准工作流程:

  1. 拉动开发
  2. 结帐功能分支
  3. “ git rebase开发”
  4. 解决冲突
  5. 重新设置基准后,(仍保留功能)“ git push --force”
  6. 转到gitlab并在要开发的功能分支上创建合并请求
  7. 合并分支机构

在此之后,历史仍然不是线性的,我们最终得到多个类似“ guitar-hero”的分支。

任何想法我们在做什么错了吗?

1 个答案:

答案 0 :(得分:2)

您看到的是合并提交。它们跟踪将功能分支合并到目标分支的操作​​。

GitLab默认情况下使用普通合并,这会产生合并提交。如果您不希望合并提交,则需要执行快进合并。 GitLab支持此功能:Fast-forward merge requests | GitLab

  

保留线性Git历史记录,以及在不创建合并提交的情况下接受合并请求的方法。


话虽如此,我鼓励您不要使用此快速转发工作流程,并感谢合并提交。

  • 合并提交有助于描述历史并显示一个功能完成而另一个功能开始的明确边界。
  • 如果您使用的是合并请求,那么您需要进行大量的代码审查和批准。在这种情况下,合并会在永久的Git历史记录中提交批准该分支的动作,而这种行为在纯ff仅限工作流程中丢失了。