虽然Git执行快进合并,但它会创建合并提交

时间:2011-05-05 14:34:21

标签: git git-merge fast-forward

我正在将修补程序分支合并到master中。当我做一个简单的git merge hotfix-2.09合并快进,但我在日志中得到'merge branch "hotfix-2.09"'提交。修补程序01 - 08没有这样做。我在做这个合并时做错了什么,或者我的主人的状态改变了一些怎么样?

编辑 我想这不是一个真正的快进,但表现得像它。

[webapps@Staging www]$ git merge hotfix-2.09
Auto-merging includes/processOrderFunctions.php
Merge made by recursive.
 includes/processOrderFunctions.php |   38 +++++++++++++++++++++++++++++++----
 processorderPL.php                 |   29 ++++++++++++++++++---------
 2 files changed, 52 insertions(+), 15 deletions(-)

2 个答案:

答案 0 :(得分:2)

你确定它快进了吗?如果确实如此,你就不会得到合并提交。

通过它的声音,您将多个热修复合并到一个分支中。我假设这些修补程序分支是从同一时间点(master)创建的并且不是累积的? (即它们都来自master,而不是来自hotfix-2hotfix-1 ......)。

然后合并的第一个分支将快进,因为提交的parent-ref将匹配master。当您合并第二个分支时,其parent-ref将指向HEAD的原始master而不是新的{{1}}。这意味着它不能快进,因为它不是线性路径,这需要合并来“压平”树。

答案 1 :(得分:0)

在进行合并之前,你有rebase hotfix-2.09来掌握吗?