转载:https://www.cnblogs.com/helloHKTK/p/7351946.html
Windows 下 Git 使用 git add 命令报错:
warning:LF will be replaced by CRLF in ××××.××
The file will have its original line endings in your working directory
翻译:
在xxx.xx文件中LF将被CRLF替换。
在工作区(working directory)里,这个文件将会保持它原本的换行符。(line ending:行尾,换行)
注解:
LF:Line Feed 换行
CRLF:Carriage Return Line Feed 回车换行键
1、不同操作系统下,处理行尾结束符的方法是不同的:
windows下:CRLF(表示句尾使用回车换行两个字符,即windows下的”\r\n”换行)
unix下:LF(表示句尾,只使用换行)
mac下:CR(表示只使用回车)
2、Git下处理“换行”(line ending)
core.autocrlf是git中负责处理line ending的变量,可以设置3个值:true,false,inout。
(1)设置为true【config –global core.autocrlf true】
当设置成true时,这意味着你在任何时候添加(add)文件到git仓库时,git都会视为它是一个文本文件(text file)。它将把crlf变成LF。
(2)设置为false【config –global core.autocrlf false】
当设置成false时,line endings将不做转换操作。文本文件保持原来的样子。
(3)设置为input时,添加文件git仓库时,git把crlf编程lf。当有人Check代码时还是lf方式。因此在window操作系统下,不要使用这个设置。
综上,出现上面那个警告的原因是:
windows中的换行符为CRLF,而Linux下的换行符为LF(使用Git命令行Git Bash,实际上就是相当于linux环境),所以在执行git add xxx.xx操作时,会出现这个错误提示!
解决方法1 (删除.git会删除本地的仓库和信息):
1.删除.git
rm -rf .git
2.禁用自动转换:
git config --global core.autocrlf false
3.再重新初始化,并执行添加add操作:
3: git init
4: git add xxx.xx
解决方法2,我直接试了第2条命令:
git config --global core.autocrlf false
后也不会重新出现警告,所以应该也可以不用删除.git.