我希望git diff
不显示BOM更改
此类更改通常在diff中显示为<feff>
:
-<feff>/*^M
+/*^M
如何让git diff
以这种方式行事?
最好使用命令行参数。
git --ignore-all-space
(又名git -w
)没有做到这一点。
如果重要的话,我在Mac OS X上。
答案 0 :(得分:5)
使用Git属性过滤器
一种可能的解决方案是创建BOM过滤器,例如:
#!/bin/bash
sed '1s/^\xEF\xBB\xBF//' "$1"
将其存储在路径中的某个位置(如removebom
)并使其可执行。
然后你需要通过运行:
在Git中配置过滤器$ git config diff.removebom.textconv removebom
并将您感兴趣的文件(即cpp)的属性添加到您的存储库:
*.cpp diff=removebom
作为.gitattributes
文件。
有关该主题的更多信息,请访问:
或删除所有
的BOM...因为,希望BOM可以在项目中一劳永逸地删除:)