git rebase -i でコミットの圧縮 - by shigemk2
以前こんなことを書いたと思う。
複数のコミットを圧縮して1つのコミットにしたいとき。
% git rebase -i HEAD(うんたら)
で、設定されたエディタが起動する。
pick commit1
pick commit2
pick commit3
pick commit4
pick commit5みたいな。commit1とcommit2を圧縮して1つのコミットにしたいときは、
pick commit1
squash commit2
pick commit3
pick commit4
pick commit5として、内容を保存してエディタを終了する。
すると、# This is a combination of two commits.
# The first commit's message is:
commit1
# This is the 2nd commit message:
commit2
と書いたけど、squashは連続で出来る。
つまり、
pick commit1
squash commit2
pick commit3
squash commit4
pick commit5
と書いて、コミットメッセージを編集して保存すると、
commit1とcommit2が圧縮される。
それに続いて同じような画面がまた登場するので
コミットメッセージを編集して保存すると、
commit3とcommit4が圧縮される。