我的 git 树中有一个最小化的 JSON 文件。它是一行上的一堆数据,没有空格。
这个文件的差异不是很有用,数据的任何变化,当然,都会导致整行被改变。
我希望能够有选择地告诉 git 差异不是文件本身,而是该文件的漂亮打印机(如python -mjson.tool或jq .)的输出。
现在我正在使用这个命令:
diff -u <(git show HEAD:file.json | jq .) <(jq . < file.json)
这样做的正确方法是什么?
小智 5
我会为受影响的文件设置一个 git textconv过滤器。
在 .gitattributes 中,设置差异工具:
*.json diff=json
Run Code Online (Sandbox Code Playgroud)
在 .git/config 中:
[diff "json"]
textconv = "cat $1 | json_pp"
Run Code Online (Sandbox Code Playgroud)
json_pp存在于适用于 Windows 的 Git 发行版中,我对此的运气比使用jq.
| 归档时间: |
|
| 查看次数: |
1035 次 |
| 最近记录: |