【问题标题】:LF will be replaced by CRLF in git -the file will have its original line endingsLF 将被 git 中的 CRLF 替换 - 文件将具有其原始行结尾
【发布时间】:2015-05-29 07:06:17
【问题描述】:

在 git 中,LF 将被 CRLF 替换——文件将有它原来的行尾这是什么意思?

【问题讨论】:

标签: git gitlab


【解决方案1】:

这通常发生在您在 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 文件并了解发生这种情况的原因。

【讨论】:

    猜你喜欢
    • 2010-12-08
    • 1970-01-01
    • 2020-10-16
    • 2022-11-10
    • 2021-08-07
    • 2011-09-23
    • 2019-04-16
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多