【发布时间】:2015-05-29 07:06:17
【问题描述】:
在 git 中,LF 将被 CRLF 替换——文件将有它原来的行尾这是什么意思?
【问题讨论】:
-
git replacing LF with CRLF 的可能重复项
-
添加一些上下文。你在引用吗?从哪里来?
在 git 中,LF 将被 CRLF 替换——文件将有它原来的行尾这是什么意思?
【问题讨论】:
这通常发生在您在 Windows 上并且 core.autocrlf 设置为 true 或 .gitattributes 包含执行行结束规范化的指令时。
行尾规范化的工作方式(在 Windows 机器上)是,当您提交文件时,git 用 LF 替换每个 CRLF,当您签出文件时,git 用 CRLF 替换每个 LF。通常这对您来说都是透明的,您所看到的只是工作目录中的 CRLF。但是,如果您以某种方式在工作目录中创建了一个仅包含 LF 的文件,则会发生以下情况:
结果是,您最终创建了一个仅包含 LF 的文件,但从那时起,您总是会在其中看到 CRLF。这就是 git 警告你的地方。
假设它是我们正在谈论的文本文件,您可以继续忽略此警告。但是,如果它是二进制文件,则意味着 git 将尝试对其进行行规范化,这将损坏文件。在这种情况下,您需要检查您的 .gitattributes 文件并了解发生这种情况的原因。
【讨论】: