我最近使用以下设置将一个 .gitattributes 文件添加到 c# 存储库中:
* text=auto
*.cs text diff=csharp
我按照 github 的这些说明重新规范了存储库,它似乎工作正常。
我遇到的问题是,当我签出一些文件(不是全部)时,我看到许多奇怪的字符与实际代码混合在一起。当 git 通过上面的 .gitattributes 文件指定的lf->crlf
转换运行文件时,似乎会发生这种情况。
根据Notepad++的说法,弄乱的文件正在使用UCS-2 Little Endian
或UCS-2 Big Endian
编码。看似工作正常的文件要么是ANSI
的,要么是UTF-8
编码的。
作为参考,我的git版本是1.8.0.msysgit.0
,我的操作系统是Windows 8。
任何想法如何解决这个问题?更改文件的编码就足够了吗?
如果使用每个字符都是两个字节的编码,则会发生这种情况。
然后,CRLF 将被编码为