这很好地解释了压缩多个提交:
http://git-scm.com/book/en/Git-Branching-Rebasing
但不适用于已经推送的提交。如何在本地和远程存储库中压缩最近的几次提交?
编辑:当我这样做时git rebase -i origin/master~4 master
,将第一个保留为pick
,将其他三个保留为squash
,然后退出(通过emacs中的cx cc),我得到:
$ 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 master
Interactive rebase already started
其中2f40是pick
提交。现在4个提交中都没有出现git log
。我希望编辑器可以重新启动,以便我可以输入提交消息。我究竟做错了什么?
git push --force origin master