如何在git中处理非UTF-8编码?

时间:2016-06-23 22:57:12

标签: git utf-8

问题:git diff认为文件是二进制文件:

$ git diff e7714 foo.txt
diff --git a/foo.txt b/foo.txt
index 14e06f9..9f00c64 100644
Binary files a/foo.txt and b/foo.txt differ

我知道它与编码有关。正在运行dos2unix修复它。

$ dos2unix.exe foo.txt
dos2unix: converting UTF-16LE file foo.txt to UTF-8 Unix format...

很好,除非在提交和推送之前忘记运行dos2unix,否则版本之间的差异不会提供信息。转换为非UTF-8编码是由于人们用来编辑文件的某些工具(坏工具)。

SVN有预先提交钩子来处理代码格式化和其他样式问题。这样的东西可用于git吗?例如,我想说名为*.txt的文件必须是UTF-8,否则拒绝提交(或拒绝推送,如果不能提交提交级拒绝)。

0 个答案:

没有答案