在哪些情况下git merge --no-ff不保留提交历史记录?

时间:2012-10-24 14:21:51

标签: git

我有一个名为devel的开发分支,一个名为feature_1的功能分支,以及一个名为testing的测试分支。这就是我所做的:

  • feature_1devel
  • 分支出来
  • 在此提交,以实现该功能
  • feature_1已合并到testing
  • feature_1--no-ff
  • 上发现了一些错误
  • 已对feature_1
  • 进行了其他提交
  • 同时,修补程序已合并到devel,而feature_1尚未重新定位
  • feature_1已再次合并到testing--no-ff
  • 分支testing上的所有测试都是成功的,feature_1分支可以合并回devel
  • 我将feature_1devel合并到--no-ff,但不是合并复制在feature_1分支上创建的所有提交,而是仅创建合并提交说feature_1分支已合并。

有人可以解释为什么--no-ff没有保留提交历史记录吗?我倾向于说这是因为feature_1分支没有针对devel进行重新定位,但我不确定。

1 个答案:

答案 0 :(得分:1)

git rebase相反,默认情况下会保留提交历史记录,git merge --no-ff按设计生成一个提交。
因此,将feature_1合并到devel--no-ff后看到的内容是正常的。

--no-ff
  

即使合并解析为快进,也要创建合并提交。