1行のJSONをgit diffで比較

git diffで1行にデータが詰まっているJSONをいい感じに差分表示する方法

jqをインストール

$ brew install jq

Gitの属性を付ける(*.jsonにマッチするファイルはdiffの前にjsonフィルタを通すように)

$ echo "*.json diff=json" >> .gitattributes

または

$ echo "*.json diff=json" >> .git/info/attributes

jsonフィルタを設定

$ git config diff.json.textconv "jq -S ."

あとは普通にgit diffすればOK


git diffではなくて単純に2つのファイルの差分を見たいだけならばjson-diffを使うといい

$ npm install json-diff
$ json-diff original.json modified.json