在Windows上使用Git,我想确保存储库中的规范化行结尾,并且工作目录中没有转换?
我们现在使用.gitattributes文件* text=auto来确保Git存储库已规范化.使用.gitattributes文件时,存储库中的所有文本文件都存储为LF.那样就好.问题是当它们被写出到工作目录时,它正在将行结尾更改为core.eol,即使我们没有core.autocrlf=true.使用.gitattributes时,它应该具有与写入工作目录时不使用.gitattributes相同的行为.它应该仅在更改行结尾时core.autocrlf=true.我会提交一个错误.标记为红色是我认为应该改变的行为.

在我的用例中,我正在构建服务器上,包括TeamCity和Visual Studio Online,并且无法设置core.autocrlf=input.我将使用开源F#编译器作为示例.该项目使用* text=auto并未*.fs text eol=lf在其.gitattributes中指定.如果从GitHub存储库下载il.fs,则行结尾为LF.当它们由构建服务器签出时,它们是CRLF.这意味着校验和不匹配,并且使用SourceLink进行源索引不起作用.
作为一种解决方法,我建议我们*.fs text eol=lf在.gitattributes文件中设置.不是每个人都对此感到满意.
此外,有1500个声望点的人可以将此标记为"sourcelink".