当您在Windows上并且core.autocrlf设置为true或.gitattributes包含执行行结束规范化的指令时,通常会发生这种情况.
行结束规范化的方式(在Windows机器上)是当你提交文件时,git用LF替换每个CRLF,当你签出文件时,git用CRLF替换每个LF.通常这对您来说都是透明的,您所看到的只是工作目录中的CRLF.但是,如果你以某种方式在工作目录中创建一个只有LF的文件,那么将会发生以下情况:
结果是,你最终创建了一个只有LF的文件,但从那时起你总是看到CRLF.这就是git警告你的.
假设它是我们正在讨论的文本文件,您可以继续忽略此警告.但是,如果它是二进制文件,则意味着git将尝试对其执行行规范化,这将破坏文件.在这种情况下,您需要检查.gitattributes文件,看看为什么会发生这种情况.