2011-05-05 102 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在做合併之前?