如何将A和K之间的提交压缩到一个提交Z中

时间:2013-02-13 09:42:41

标签: git squash

如果我有这样的提交历史记录:

A-B-C-------G-H-J-K   (master)
     \     /
      D-E-F

如何将A和K之间的提交压缩到一个提交Z:

A-Z-K   (master)

1 个答案:

答案 0 :(得分:2)

首先,执行:

git rebase -i A

这将显示文本编辑器中的提交列表,以B开头,以K结尾 您必须将提交C,D,E,F,H和J前面的文本pick更改为ssquash在B或K前面更改pick。请注意,提交G应该丢失,因为它是合并提交。

最后,保存并退出编辑器。这将开始实际的变基。

结果将是:

A-Z-K'                   (master)
 \
  B-C-------G-H-J-K      (no branch)
     \     /
      D-E-F

无分支上的部分最终将被垃圾收集删除。