* 条件指定してコミットを絞り込む [#ce5504fa]
*** 全ブランチのコミット [#f7c21c92]
git log --all
*** あるブランチにはあるが、あるブランチにはないコミット [#w917be5e]
git log master..br1 # br1にあるが、masterにないコミット(br1とmasterの差分)
git log master ^br1 # masterにはあるが、br1にはないコミット
git log --all --not br1 # br1にないコミット
git log origin/master..master # ローカルのmasterにはあるが、リモート(origin)のmasterにはないコミット
*** 直近N個のコミット [#g780f04e]
git log -3
*** あるAuthor(またはCommitter)のコミット [#if3e963b]
git log --author taro
git log --author yamada.taro@example.com
git log --committer taro
git log --committer yamada.taro@example.com
*** ある日時のコミット [#k0cbb34c]
git log --after 3.days.ago # 3日前から現在までのコミット
git log --before 2017-08-01 # 2017-08-01以前のコミット
git log --after 2017-08-01 --before 2017-08-31 # 2017-08-01から2017-08-31までのコミット
*** マージコミットを除外 [#ra5aeab9]
git log
* ff3fb72 (HEAD -> master) Merge branch 'br1'
|\
| * 7183284 (br1) baz
* | 1bff43e foo
* | 867ad2f bar
|/
* 4670f69 hoo
git log --no-merges
* 7183284 (br1) baz
| * 1bff43e foo
| * 867ad2f bar
|/
* 4670f69 hoo
*** コミットメッセージ検索 [#s0a4e9a7]
git log --grep="Modified foo.txt" # "Modified foo.txtを検索してマッチするコミット
git log --grep="[Mm]odified foo.txt" # 正規表現が使える
*** 逆順に表示 [#l18f56d7]
git log --reverse # 逆順に表示
git log -10 --reverse # この場合、直近10件が逆順に表示
git log --reverse -10 # この場合、直近10件が逆順に表示