warning: LF will be replaced by CRLF in package.json. The file will have its original line endings in your working directory
The file will have its original line endings in your working directory)
问题描述
在使用git命令 git add . 时,出现以下警告:
warning: LF will be replaced by CRLF in package.json. The file will have its original line endings in your working directory
原因分析
这是由于编辑器的不同或者Windows 程序员在跨平台项目中的文件行尾加入了回车换行符(比如说你在window 编辑器中使用LF 作为换行符,在提交仓库时就会出现这种错误)。
下面罗列一下三大主流操作系统的换行符:
-
Uinx/Linux 采用换行符LF 表示下一行(LF:LineFeed,中文意思是换行); -
Dos 和Windows 采用CRLF (回车+换行)表示下一行(CRLF:CarriageReturn LineFeed,中文意思是回车换行); -
Mac OS采用回车CR表示下一行(CR:CarriageReturn,中文意思是回车)。
解决方法
可以通过 git config [--global] core.autocrlf true | false | input 命令来设置Git 对待换行符的方式(如果只在Windows环境开发或只在linux环境开发,不存在跨平台问题,设置为false 即可)。
-
true
Git会可以在你add(提交)代码时自动地把换行结束符CRLF转换成 LF,而在checkout (签出)代码时把LF转换成CRLF。
如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF
-
false
换行符不做任何改变,文本文件保持其原来的样子。
-
input
add 时Git会把CRLF转换为LF,而check时仍旧为LF,所以Windows 操作系统不建议设置此值。
可以通过 git config core.autocrlf 命令来显示当前你的Git 中对待换行符的方式
注意:
|