Git rebase成功但旧提交存在

时间:2018-04-09 13:34:36

标签: git rebase

我跑了git rebase -i HEAD~7,一切都很顺利。但是,键入git log时。我看到rebase提交(压缩几个提交)以及旧提交。因此,我没有进行1次提交,而是进行了8次提交(1 - 7次提交和1次'压缩'提交)。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

当您输入git rebase -i HEAD~7时,您会看到类似这样的内容:

pick a873lnd 7 commits ago
pick 9gn283d 6 commits ago
pick k9mdn82 5 commits ago
pick k93m38f 4 commits ago
pick v382ndk 3 commits ago
pick 39mdji2 2 commits ago
pick alv93k3 most recent commit

最旧的提交将显示在最顶层,最新的提交将显示在底部。当你将提交压缩在一起时,你会从较新到较旧的方式挤压。所以,如果你想将最近的最近6次提交压缩到第七次,你就会做出这些改变:

p a873lnd 7 commits ago
s 9gn283d 6 commits ago
s k9mdn82 5 commits ago
s k93m38f 4 commits ago
s v382ndk 3 commits ago
s 39mdji2 2 commits ago
s alv93k3 most recent commit

请注意,最近的6次提交获得了ssquash)标签的缩写,而最早的提交仍为pick。然后,只需保存,关闭编辑器,然后完成rebase。

如果你没有这样做,那么你做了一些其他的事情,而不是像你想要的那样压缩提交。关于你目前的情况,如果你确定你只是在历史上添加了一个新的提交,那么你可以做另一个交互式rebase,你只需删除该提交的行,然后进行我上面提到的更改