git rebase -i

rebaseってあんまり使ったこと無いけど便利らしいので使ってみた。前の二つをコミットを一個にまとめるとき

$ git rebase -i HEAD~2

ってやるとエディタが立ち上がって

pick c6b00da commit log1
pick 51e40f3 commit log2

# Rebase 404ca46..51e40f3 onto 404ca46
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.

こんなんでるからまとめたいやつ(今回はcommit log2のやつ)のpickをsquashに書き変えて保存して終了。するとまたエディタが立ち上がって今度はまとめたやつのコミットログを書いて保存。でコミットがまとめられる。