git init
git add .

对许多文件提供以下警告:

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

LF和CRLF有什么区别?我该怎么处理这些警告?


在Unix系统中,行的结尾用换行符(LF)表示。在窗口中,一行用回车(CR)和换行(LF)表示,因此(CRLF)。当您从从unix系统上传的git中获取代码时,它们只会有一个LF。

如果您是一个在windows机器上工作的开发人员,并且您不关心git是否自动将LF替换为CRLF,您可以通过在git命令行中键入以下内容来关闭此警告

git config core.autocrlf true

如果您想明智地决定git应该如何处理,请阅读文档

下面是一个片段

格式和空白格式和空白问题是一些更令人沮丧和许多开发人员在合作时遇到的微妙问题,特别是跨平台。对于补丁或其他协作引入细微的空白更改,因为编辑默默地介绍他们,如果你的文件碰到Windows系统,它们的行尾可能会被替换。Git有一些配置选项以帮助解决这些问题。核心.autocrlf如果您在Windows上编程,并与非Windows用户合作(反之亦然),您可能会遇到一些行结束问题指向这是因为Windows同时使用回车符以及文件中换行符的换行符,而Mac和Linux系统仅使用换行符。这是一个微妙但跨平台工作的令人难以置信的恼人事实;上的许多编辑Windows用CRLF无提示地替换现有LF样式的换行符,或当用户按下回车键时,插入两个行尾字符。Git可以通过在以下情况下自动将CRLF行结尾转换为LF来处理此问题:您将文件添加到索引中,反之亦然,当它签出代码时到您的文件系统。您可以使用core.autocrlf设置。如果您在Windows计算机上,请将其设置为true–当您签出代码时,这会将LF结尾转换为CRLF:$git config--全局core.autocrlf true如果您在使用LF行结尾的Linux或Mac系统上不希望Git在您签出文件时自动转换它们;但是如果意外引入了以CRLF结尾的文件,那么您可能希望Git修复它。您可以告诉Git将CRLF转换为通过将core.autocrlf设置为输入:$git config--全局core.autocrlf输入此设置将在Windows签出时留下CRLF结尾,但LF在Mac和Linux系统以及存储库中结束。如果你是一名Windows程序员,正在做一个仅限Windows的项目,那么你可以关闭此功能,将回车记录在通过将配置值设置为false来存储库:$git config--全局core.autocrlf false


如果需要,可以使用

git config core.autocrlf false

但最好还是使用

git config core.autocrlf true