使用git flow
工具,我創建了一個功能分支(分支爲dev
),進行了一系列更改,並將分支合併回dev
。修補程序在合併後未應用
有一個文件,我已經修改了功能分支。我可以確認修改該文件()的修訂版本()存在並應用於功能分支中。
但是,在合併之後,FILE-A
在dev
分支上處於其原始(預合併)狀態。我可以看到REV-A
當我在dev
上執行git log
,並且如果我按照git log --graph
生成的行,我可以將此提交跟蹤到合併提交,其中我合併了我的功能分支和dev
。
但是,當我做一個git blame
的FILE-A
時,提交不存在,並且所涉及的行在其原始位置(在REV-A
提交之前)。
此外,git show REV-A | patch -p1
導致修補程序被清晰地應用。之後,git diff
看起來與git show REV-A
相同。
發生了什麼事?合併是如何將修訂引入分支歷史記錄的,但實際上並不適用它?該合併中是否還有其他更改未被應用?
功能分支是否在任何時候重新啓動? – VonC 2015-02-12 12:50:29
請發佈'git log --graph --decorate --oneline --full-history --ancestry-path^REV_A HEAD'的結果(檢出錯綜複雜的合併)。 – jthill 2015-02-17 05:16:31
查看你運行的命令會很有幫助。如果你有一個shell插件顯示你運行命令的分支,那更好。我的猜測是,您可能已將'dev'合併到您的功能分支中,而不是將您的功能分支合併到'dev'中。但是,這只是瘋狂的猜測而沒有看到你在做什麼。 – spinlock 2015-02-18 21:54:36