2

我了解 Windows 使用 CRLF,并且在提交之前让 Git 将行尾更改为 LF 并在签出时返回到 CRLF 是一种很好的做法。出于这个原因,我已经core.autocrlf设置为true。但是,与其他线程所说的相反(例如,this),我仍然收到此警告:

警告:LF 将被 [FILE_NAME] 中的 CRLF 替换。该文件将在您的工作目录中具有其原始行结尾。

首先,我认为设置core.autocrlf为 true 应该停止这些警告。其次,Git 不应该在提交时将 LF 转换为 CRLF,而不是相反?

有趣的是,我刚刚提交了许多文件,并且只收到了其中两个(一个 .csproj 和一个 .cs)的警告。

PS 我在 Windows 上使用 Git Bash。

4

1 回答 1

3

让 Git 在提交之前将行尾更改为 LF 并在签出时返回到 CRLF 是一种很好的做法。

它是,但不是core.autocrlf。您应该始终将 core.autocrlf 设置为 false,因为它会尝试为所有文件(包括非文本文件)
转换 eol(行尾)

如果您有需要转换的文件,请在文件中使用eol指令.gitattributes
不过请确保使用最新的 Windows 版 Git : Git 2.10 中有一个错误。

话虽如此,如果您仍然想使用core.autocrlf,请参阅“ Make Git”LF 将被 CRLF 替换“警告消失”:您可以删除索引并再次结帐。

于 2017-05-28T07:43:36.100 回答