たとえば、すごいでっかいコミットがあったとして、
ファイル追加とかファイル削除とかを無視して、編集した部分だけを見たい、なんていうことがある。
そんなときは、git log
に--diff-filter
を使うとよい。
[rack#master] $ git whatchanged --diff-filter=M
commit 58c24bbafdd476d16d9c3778b2455625bb27f67e
Author: Martin Schürrer <martin@schuerrer.org>
Date: Sun Jul 14 20:14:03 2013 +0200
Fix bug in sendfile.rb
The error message called `variation` without the env leading to an `ArgumentError`. It should call `type` instead.
:100644 100644 c247a3b... 8a67490... M lib/rack/sendfile.rb
commit 977351595d7ff7d17cc4c4b2526922ef37b7c65e
Author: James Tucker <jftucker@gmail.com>
Date: Thu Jul 4 16:17:43 2013 -0700
Refactor rack static header rules application
:100644 100644 6b0762a... 41aec7f... M lib/rack/static.rb
commit 65d3894224149ed3aee80293892bb368377913a1
Author: Garry Shutler <garry@robustsoftware.co.uk>
Date: Wed Jul 3 19:43:50 2013 +0100
Set HttpOnly for cookies using :http_only
:100644 100644 0c7091e... 43bbef3... M lib/rack/utils.rb
:100644 100644 0ba17b1... 12b8b7b... M test/spec_response.rb
commit cf13f31a74c46eb79032428d5efd176c4c35187c
Author: Prem Sichanugrist <s@sikac.hu>
Date: Fri Jun 28 15:48:03 2013 -0400
Add Response#unauthorized? helper
This helper should come in handy when you want to test the authorization
in your application.
:100644 100644 2beba7a... 2076aff... M lib/rack/response.rb
:100644 100644 7ba1e0e... 0ba17b1... M test/spec_response.rb
ちなみに、M
はModified
のM
である。他にもAdded
のA
や、Deleted
のD
などがある。
…ところでこの機能、だれが使うんだろう。
追記(2013.12.06 16:31)
M
はModified
なファイルのみのdiffを表示してくれる。
だけど、Modified
なファイル 以外のファイルのdiff を表示したい時はどうしたらいいんだろう。
と思ってたら、どうやらm
と書けばよかったらしい。つまり、
$ git log --stat --diff-filter=m
である。
Mの逆だからmか。なるほど。