2011-05-05 90 views
1

我正在将一个修补程序分支合并到master中。当我做一个简单的git merge hotfix-2.09合并快速转发,但我在日志中提交'merge branch "hotfix-2.09"'提交。修补程序01-08没有这样做。我在做这个合并时出了什么问题,还是我的主人的状态改变了一些?Git创建合并提交,尽管它执行快速合并

编辑 我想这不是一个真正的快速前进,但行为就像它。

[[email protected] 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(-) 
+0

你指的是reflog吗?它实际上是否说快速转发? gitk显示什么? – knittl 2011-05-05 14:38:16

+0

我将不得不查找“reflog”,但我正在查看主分支上的git日志。目前的第一个提交是“合并分支”修补程序-2.09“”第二个提交是我想要从hotfix-2.09合并提交。 – Clutch 2011-05-05 14:43:33

+0

gitk显示合并提交在其中没有任何更改。 – Clutch 2011-05-05 14:47:06

回答

2

你确定它快进吗?如果是的话,你不会得到合并提交。

通过它的声音,你正在将多个hot-fixes合并到一个分支。我假设这些修补程序分支是从相同的时间点(master)创建的,并且不是累积的? (即它们全部从master分支,而不是从hotfix-1等分支hotfix-2等)。

然后,合并的第一个分支将快进,因为提交的父参数匹配达到master。当你合并你的第二个分支时,其父母参考将指向的原始HEAD而不是新的。这意味着它不能被快速转发,因为它不是一个线性路径,这需要合并来“扁平化”这些树。

0

您是否rebase hotfix-2.09在做合并之前?