綾小路龍之介の素人思考

[git] logで特定のauthor以外を表示する

git logで特定のauthorを表示するには以下のようにする。

$ git log --author hoge@example.com

これを否定するには以下のようにする。ただしgitのバージョンが低いと使えない。

$ git log --perl-regexp --author="^(?\!hoge@example.com)"
$ git log --perl-regexp --author='^((?!hoge@example.com).*)$'

gitのバージョンによっては使えない場合があるので次善の策。

$ git log --format="%H %aE" | grep -v -F hoge@example.com | while read hash email; do git log -1 $hash; echo; done | less
$ git log --format="%H %aE" | grep -v -F hoge@example.com | awk '{print $1}' | xargs -r -n 1 git log -1 | less
$ git log --format="%H %aE" | grep -v -F hoge@example.com | awk '{print $1}' | xargs -r -n 1 -I{} sh -ec "git log -1 {}; echo;" | less

リファレンス

  1. quivalence of: git log --exclude-author? - Stack Overflow
  2. Paul Frields : git log that excludes an author

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2010-08-25T19:57:37+09:00
  2. Modified: 2010-08-25T19:57:37+09:00
  3. Generated: 2017-06-20T23:09:22+09:00