如何使用'git rebase'将第一次提交与git中的第四次提交相结合。 根据我在这里阅读的http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html,'git rebase'中的'squash'命令仅与之前的提交融合。
在git中,我有
$ git log
commit 9a30d13
commit 4a6729e
commit 4a6729e
commit 4a6729e
commit a610898
基本上,我希望9a30d13的更改与a610898中的更改相结合,以便新历史记录
$ git log
commit 4a6729e
commit 4a6729e
commit 4a6729e
commit a610898 + 9a30d13
我没有推过任何东西。
谢谢。
答案 0 :(得分:4)
当您按照链接中所述进行交互式rebase时,您也可以重新排序提交。更改订单后,您可以将9a30d13
压缩到a610898
。
当交互式rebase出现时,它看起来像这样(最旧的提交在上面):
pick a610898 Message A
pick 4a6729e Message B
pick 4a6729e Message C
pick 4a6729e Message D
pick 9a30d13 Message E
然后重新排序:
pick a610898 Message A
pick 9a30d13 Message E
pick 4a6729e Message B
pick 4a6729e Message C
pick 4a6729e Message D
并将9a30d13
更改为squash
而不是pick
:
pick a610898 Message A
squash 9a30d13 Message E
pick 4a6729e Message B
pick 4a6729e Message C
pick 4a6729e Message D
保存&退出,你就完成了。您将有机会为新的a610898
+ 9a30d13
提交输入新的提交消息。