使用git add提交文件出现如下信息:
$ git add Readme.txt
warning: LF will be replaced by CRLF in Readme.txt.
The file will have its original line endings in your working directory
翻译:
警告:Readme.txt中的 LF 将被 CRLF 替代
这个文件在你的工作目录中将以它的原始行结尾
说明:
CR表示回车符,即 '\r',十进制ASCII码为13
LF表示换行符,即' \n',十进制ASCII码为10
CRLF表示回车换行符,即 '\r\n',
原因:
不同操作系统使用的用于表示换行操作的符号不同
Unix/Linux使用换行符LF(Line Feed)
MacOS使用回车符CR(Carriage Return)
Dos/Windows使用回车换行符CRLF
由于我使用的vim编辑器编辑的文件,所以换行符应该为LF
而git中关于换行符处理可查看配置变量core.autocrlf
使用如下命令查看
$ git config core.autocrlf
true
core.autocrlf为true时,add和check时将CR和LF转换为CRLF
core.autocrlf为false时,将不进行自动转换
core.autocrlf为input时,add和checkout时将CRLF和CR均转换为LF
Windows客户端下默认为true
解决:
如果需要只是在Windows或者Linux下进行开发,将其值设置为true或input即可,但如果需要跨平台,可以将其设置为false并统一编辑器编码风格,不过我好像只在Windows客户端下遇到这个问题,在Linux下连core.autocrlf这个变量都没有
设置命令为:
$ git config --global core.autocrlf false