5

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

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

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

A-Z-K   (master)

?

4

1 回答 1

4

首先,执行:

git rebase -i A

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

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

结果将是这样的:

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

没有分支的部分最终将被垃圾收集器删除。

于 2013-02-13T09:47:50.220 回答