命令行操作git add添加文件时,提示LF will be replaced by CRLF the next time Git touches it,这个错误是出现在跨平台操作git的时候发生。
行结束符
不同的操作系统,行结束符的表示方法不一样。目前有两种表示:
- LF:Unix 和 Unix-like 系统中使用的是
\n
,如 Linux 和 MacOS。 - CRLF:windows上使用的是
\r\n
。
Git处理行结束符
当不同操作系统操作文件时,Git会自动处理行换行符,所以就导致了下面的警告。
解决方法
Git提供了 core.autocrlf
选项来解决这个问题,我们可以根据不同的操作系统来设置它。
windows
git config --global core.autocrlf true
这段配置的意思是:检出的时候 LF 转为 CRLF,提交的时候 CRLF 转为 LF
Mac 或者 Linux
git config --global core.autocrlf input
这段配置的意思是:检出的时候不转换,提交的时候 CRLF 转为 LF
如果不想自动转换,可以配置 core.autocrlf
为 false
git config --global core.autocrlf false