如果我有这样的提交历史记录:
A-B-C-------G-H-J-K (master)
\ /
D-E-F
如何将A和K之间的提交压缩到一个提交Z:
A-Z-K (master)
答案 0 :(得分:2)
首先,执行:
git rebase -i A
这将显示文本编辑器中的提交列表,以B开头,以K结尾
您必须将提交C,D,E,F,H和J前面的文本pick
更改为s
或squash
。 不在B或K前面更改pick
。请注意,提交G应该丢失,因为它是合并提交。
最后,保存并退出编辑器。这将开始实际的变基。
结果将是:
A-Z-K' (master)
\
B-C-------G-H-J-K (no branch)
\ /
D-E-F
无分支上的部分最终将被垃圾收集删除。