git config core.autocrlf是真的,但我还在收到警告?

时间:2017-05-28 04:40:53

标签: git git-bash line-endings core.autocrlf

我知道Windows使用CRLF,并且最好让Git在提交之前将行结尾更改为LF,并在签出时返回CRLF。出于这个原因,我将core.autocrlf设置为true。但是,与其他主题所说的相反(例如,this),我仍然会收到此警告:

  

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

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

有趣的是,我只提交了许多文件并且仅针对其中两个文件(.csproj和.cs)发出此警告。

P.S。我在Windows上使用Git Bash。

1 个答案:

答案 0 :(得分:1)

  

让Git在提交之前将行结尾更改为LF以及在结账时返回CRLF是一种很好的做法。

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

如果您有需要转换的文件,请使用eol directive in a .gitattributes file 请确保使用latest Git for Windows:有一个bug in Git 2.10

话虽如此,如果您仍想使用core.autocrlf,请参阅" Make Git “LF will be replaced by CRLF” warnings go away":您可以删除索引并再次结帐。