如果我有這樣的提交歷史:我如何能夠壓制A和K的承諾變成一個承諾ž
A-B-C-------G-H-J-K (master)
\ /
D-E-F
我如何能夠壓制A和K的承諾變成一個承諾Z:
A-Z-K (master)
?
如果我有這樣的提交歷史:我如何能夠壓制A和K的承諾變成一個承諾ž
A-B-C-------G-H-J-K (master)
\ /
D-E-F
我如何能夠壓制A和K的承諾變成一個承諾Z:
A-Z-K (master)
?
首先,執行:
git rebase -i A
這將顯示提交列表在文本編輯器,從B和與K.
結束你將不得不改變提交的C前面的文本pick
,D,E,F,H和J至s
或squash
。做不是在B或K前面更改pick
。請注意,提交G應該丟失,因爲它是合併提交。
最後,保存並退出編輯器。這將開始實際重新貸款。
其結果將是這樣的:
A-Z-K' (master)
\
B-C-------G-H-J-K (no branch)
\ /
D-E-F
是無分行將最終被垃圾收集被移除的部分。
有用的鏈接 - [將多個提交合併爲一個使用git rebase](http://feeding.cloud.geek.nz/posts/posting/multiple-commits-into-one/) – timotei 2013-02-13 13:47:00