我正在使用兩個分支,master
和newFeature
。在構建「新功能」時,我向newFeature
分支添加了多個提交。我對git merge
的理解是,一旦合併了分支,它將在master
上創建一個單個提交,但是當合並時,master
現在具有在newFeature
上的完整提交歷史。對於示例 -爲什麼Git合併在主分支上創建多個提交?
master (pre-merge):
1=>2=>3
newVersion:
1=>2=>3=>4=>5=>6
master (actual results of merge):
1=>2=>3=>4=>5=>6
master (expected results of merge):
1=>2=>3=>6
有什麼辦法去除中介在合併過程中從newVersion
承諾,並如預期爲什麼不合並工作?
'git merge'創建一個新的提交,如果需要的話,但**它不會刪除任何現有的提交**。在你的情況下,它沒有創建任何新的提交。它只是移動'master'分支來指向'newVersion'分支已經指向的提交。發生這種情況是因爲兩個分支實際上並沒有發生分歧,並且沒有必要進行新的提交。 – axiac
您可以將您的newVersion分支重新綁定到一個提交中。 – Tom