これは、複数のコミットを潰すことの良い説明を与えます:
http://git-scm.com/book/en/Git-Branching-Rebasing
ただし、すでにプッシュされているコミットでは機能しません。ローカルリポジトリとリモートリポジトリの両方で、最新のいくつかのコミットを潰すにはどうすればよいですか?
私がそうするときgit rebase -i origin/master~4 master
、最初のものをとして保持しpick
、他の3つをとして設定し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
。コミットメッセージを入力できるように、エディターが再起動されることを期待していました。私は何が間違っているのですか?