最佳答案
这很好地解释了压缩多个提交:
http://git-scm.com/book/en/Git-Branching-Rebasing
但它不适用于已经推送的提交。如何在我的本地和远程存储库中压缩最近的几个提交?
当我执行git rebase -i origin/master~4 master
时,将第一个设置为pick
,将其他三个设置为squash
,然后退出(通过emacs中的c-x c-c),我得到:
$ git rebase -i origin/master~4 master# Not currently on any branch.nothing to commit (working directory clean)
Could not apply 2f40e2c... Revert "issue 4427: bpf device permission change option added"$ git rebase -i origin/master~4 masterInteractive rebase already started
其中2f40是pick
提交。现在4个提交都没有出现在git log
中。我希望我的编辑器重新启动,以便我可以输入提交消息。我做错了什么?