我知道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。
答案 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":您可以删除索引并再次结帐。