Git - LF Will Be Replaced by CRLF

Ashok Chapagai 2021年12月24日
Git - LF Will Be Replaced by CRLF

LF 代表 Line Feed,这是一种在基于 UNIX 的系统中表示行尾的方式。但是在基于 Windows 的系统中,一行通常用 CR(回车)和换行(LF)来表示。

如果你使用基于 UNIX 的系统(macOS)推送代码,则会出现此问题,代码将以 LF 结尾。

如果你使用 Windows 机器,修改代码并提交,它将被 CRLF 替换,因为 git 很聪明并且不希望你在 Windows 操作系统上使用 LF。

同样,如果警告说 LF Will Be Replaced by CRLF,则会发生相反的情况。提交/切换后,你将丢失基于 Windows 的 CRLF,LF 将替换它。

修复 Git 中的 LF Will Be Replaced by CRLF 警告

修复警告的一种方法是更改​​位于 git 安装路径中的配置文件。code.autocrlf 的值存储在位于 %ProgramFiles(x86)%\git\etc\gitconfigProgramFiles\git\etc\gitconfig/etc/gitconfiggitconfig 文件中基于 Linux/Unix 的操作系统。

但是,我们可以在不同情况下解决此问题:

如果你希望在基于 Unix 的操作系统上使用该项目,你应该将 core.autocrlf 的值设置为 true

如果你希望仅在 Windows 下使用该项目,则该标志应设置为 false

但是,在基于 Unix 的操作系统中,你可以根据需要禁用 core.autocrlf

在进行修改之前,你可以使用以下命令检查当前设置,

git config core.autocrlf

该命令将给出 truefalseinput 的输出,你可以根据需要进行更改。

修复整个系统上的 LF Will Be Replaced by CRLF 警告

要解决系统范围内的问题,你可以使用,

git config --system core.autocrlf false

修复每个用户的 LF Will Be Replaced by CRLF 警告

要根据用户解决问题,你可以使用,

git config --global core.autocrlf false

只在项目中修复 LF Will Be Replaced by CRLF 的警告

要解决特定项目的问题,

git config --local core.autocrlf false
作者: Ashok Chapagai
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub