git diff コマンドで package-lock.json や任意のファイルの差分を無視する

git diff コマンドで、Git 管理が必要で、差分が発生しているのは分かっているけど、イチイチ Diff を見る気はないというファイルがあったりする。package-lock.json などが良い例だ。

こうしたファイルは、git diff コマンドを実行する際に :(exclude) というオプションを使って除外できる。

$ git diff ./ ':(exclude)package-lock.json'

念のため、git diff -- ./ と、ダブルダッシュしておくと間違いなく認識されるだろう。

複数のファイルを除外したい場合は、このオプションを複数回書けば良い。ワイルドカード的な指定も可能だ。

# package-lock.json と .yaml ファイルの差分を見ないことにする
$ git diff ./ ':(exclude)package-lock.json' ':(exclude)*.yaml'

勿論、git add したモノを見る場合は、--cached (もしくは --staged) オプションを付ければ良いだけだ。