簡體   English   中英

合並后Git分支並提交歷史記錄

[英]Git branches & commits history after merge

我正在開發一個項目(單獨),對於我開發的每個功能,我創建了一個新的分支,處理這個功能,然后將它合並到master。 所以通常我一次不會在兩個不同的分支上工作,而是在分支機構工作時從不接觸主人。

當我合並一個分支時,我看到(使用gitxgitk )master分支的歷史記錄獲取了我對合並分支所做的所有提交。 我的意思是,如果我有類似的東西:

master a-b-c-d
              \z-x-y--
              |branch name

合並后我得到:

a-b-c-d-z-x-y
            |branch name

是的,我看到合並的分支名稱突出顯示(使用gitxgitk ),但我所期待的是顯示提交完成的位置(到哪個分支),如:

master a-b-c-d--------M--
              \-z-x-y-/
              |branch name

所以我期待看到提交“M”代表我已經完成的合並,而不是看起來我已經完成了對新分支所做的所有提交。

我的期望是否正確? 或者這是正常的git行為?

這是正常的Git行為。 您正在進行所謂的“快進”合並,因為您的分支嚴格地位於master分支之前。

如果你真的想保留分支歷史(雖然我建議你不要打擾),那么你可以使用git merge --no-ff強制它創建一個合並提交,即使它可以進行快進更新。

您可以在“ 了解Git工作流 ”中找到對-no-ff選項的額外批評,主要是因為它會破壞git blame
“更多的使用快進時pullno-ffpull ”。

正如“ 為什么git默認使用快進合並? ”中所解釋的那樣,除非你談論的是一個非常長壽的分支,否則快進合並更可取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM