git diff:如何忽略管道输入的filemode?

时间:2015-02-05 20:35:42

标签: git js-beautify

我正在尝试使用 git diff 来确保我的JavaScript在提交之前已被美化。

js-beautify src.js | git -c core.fileMode=false diff --no-index -- src.js -

我按照here的说明忽略了文件模式,但我仍然得到了这个输出。

diff --git a/src.js b/-
old mode 100755
new mode 100644
index 13158aa..0000000

我也试过git config core.fileMode false无济于事。如果我更改文件的权限和针对HEAD的diff,则命令按预期工作(diff为空)。

chmod 644 src.js
git -c core.fileMode=false diff -- src.js

是否可以忽略未编入索引的文件的权限?我正在使用git版本1.9.1。

1 个答案:

答案 0 :(得分:2)

围绕这一点的一种方法是:

js-beautify src.js | diff - <(git show HEAD:./src.js)

或者:

diff <(js-beautify src.js) <(git show HEAD:./src.js)

它不会产生git diff格式,但我不知道这对您的特定用例是否至关重要。