如何将两个不连续的git提交组合成一个?

如何将两个不连续的git提交组合成一个?,git,Git,如果以下是分支上的提交列表: A - B - C - D A-B-C-D 如何将A和C组合成(AC) (AC)-B-D首先执行git-rebase-i aaaaaa^,然后您的文本编辑器将显示如下所示: pick aaaaaa pick bbbbbb pick cccccc pick dddddd 更改它,使其看起来像 pick aaaaaa squash cccccc pick bbbbbb pick dddddd 然后关闭它,git完成其余的工作 编辑它们,使C位于A之后。将pick更

如果以下是分支上的提交列表:

A - B - C - D A-B-C-D 如何将A和C组合成(AC)


(AC)-B-D首先执行
git-rebase-i aaaaaa^
,然后您的文本编辑器将显示如下所示:

pick aaaaaa
pick bbbbbb
pick cccccc
pick dddddd
更改它,使其看起来像

pick aaaaaa
squash cccccc
pick bbbbbb
pick dddddd
然后关闭它,git完成其余的工作


编辑它们,使
C
位于
A
之后。将
pick
更改为
f
(fixup)并保存。

和强制性警告:如果您已经推送了任何此项工作,请不要这样做。另外,为了澄清,第一个命令中的
A
是commit
A的SHA1(它可以缩写),和
aaaaa
以及编辑器中的朋友是四个提交中的SHA1的缩写。
pick aaaaaa
squash cccccc
pick bbbbbb
pick dddddd
git rebase -i A^