コードレビューをする際には変更をいろんな方向から調べて正確に把握する必要があります。git diffにはいろいろ便利オプションがあるので、レビューの際に便利に使っています。
最近知ったやつだと --dirstat オプションと --submoduleが便利度高いです。
変更全体の把握に役立つ
-
git diff --stat
-
git diff --dirstat
-
git diff --submodule
- submodule ごとに変更箇所のlogを表示する
- submoduleまでおりていってlogみなくてもだいたいの変更がわかるので便利
個別の変更の把握に役立つ
-
git diff --word-diff=color
- 単語ベースのdiff
- 行の中の一部だけが変更されてるのをみたりするのに便利
- color を指定すると色の変化でdiffがわかって良い
-
git diff --ignore-space-at-eol
- 末尾空白の変更を無視する
- なんかのついでに末尾スペース削りまくってるみたいな変更に対して便利
-
git diff -b
- 空白の変更を無視する
- このへん多分インデントかわっただけだよね.. そうだよね.. て心配なときに確認するのに便利
もろもろ役立つ
-
git diff --ignore-submodule=dirty
- コミットしてないけどなんか変更してる( = dirty) なsubmoduleの変更を無視する
- 適当にdiffを渡したいけど、submoduleは関係ない.. みたいなときに便利