LF将由git中的CRLF替换 - 文件将具有其原始行结尾

kom*_*kar 2 git gitlab

LF将被git中的CRLF取代 - 文件将有其原始行结尾这是什么意思?

Dav*_*sch 5

当您在Windows上并且core.autocrlf设置为true或.gitattributes包含执行行结束规范化的指令时,通常会发生这种情况.

行结束规范化的方式(在Windows机器上)是当你提交文件时,git用LF替换每个CRLF,当你签出文件时,git用CRLF替换每个LF.通常这对您来说都是透明的,您所看到的只是工作目录中的CRLF.但是,如果你以某种方式在工作目录中创建一个只有LF的文件,那么将会发生以下情况:

  1. 提交时,git会将LF"转换"为LF,即什么都不做
  2. 签出时,git会将LF转换为CRLF

结果是,你最终创建了一个只有LF的文件,但从那时起你总是看到CRLF.这就是git警告你的.

假设它是我们正在讨论的文本文件,您可以继续忽略此警告.但是,如果它是二进制文件,则意味着git将尝试对其执行行规范化,这将破坏文件.在这种情况下,您需要检查.gitattributes文件,看看为什么会发生这种情况.