Git 变基成功但存在旧提交
Git rebase successful but old commits exists
我 运行 git rebase -i HEAD~7
一切顺利。但是,当键入 git log
时。我看到了 rebase 提交(压缩了几个提交)以及旧的提交。因此,现在我有 8 次提交,而不是 1 次提交(1 - 7 次旧提交和 1 次 'squashed' 提交)。
我该如何解决这个问题?
当您键入 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 次提交压缩到第 7 次,你应该做这些更改:
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 次提交有一个 s
(squash
的缩写)标签,而最旧的提交仍然是 pick
。然后,保存,关闭编辑器,完成rebase。
如果你没有这样做,那么你做了一些事情,而不是像你打算做的那样压缩提交。关于你目前的情况,如果你确定你只是在你的历史之上添加了一个新的提交,那么你可以做另一个交互式 rebase,你只需删除该提交的行,然后进行我上面建议的更改.
我 运行 git rebase -i HEAD~7
一切顺利。但是,当键入 git log
时。我看到了 rebase 提交(压缩了几个提交)以及旧的提交。因此,现在我有 8 次提交,而不是 1 次提交(1 - 7 次旧提交和 1 次 'squashed' 提交)。
我该如何解决这个问题?
当您键入 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 次提交压缩到第 7 次,你应该做这些更改:
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 次提交有一个 s
(squash
的缩写)标签,而最旧的提交仍然是 pick
。然后,保存,关闭编辑器,完成rebase。
如果你没有这样做,那么你做了一些事情,而不是像你打算做的那样压缩提交。关于你目前的情况,如果你确定你只是在你的历史之上添加了一个新的提交,那么你可以做另一个交互式 rebase,你只需删除该提交的行,然后进行我上面建议的更改.