git push的时候有警告信息,详细如下:
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in web/resources/ueditor/ueditor.config.js.
意思就是lf与crlf的问题。
CRLF, LF 是什么?他们都是用来表示文本换行的方式。CR(Carriage Return) 代表回车,对应字符 '\r',return嘛,回车的意思;LF(Line Feed) 代表换行,对应字符 '\n'。由于历史原因(这里确实很复杂,感觉可以写本书来说),不同的操作系统文本使用的换行符各不相同。主流的操作系统一般使用CRLF或者LF作为其文本的换行符。其中,Windows 系统使用的是 CRLF, Unix系统(包括Linux, MacOS近些年的版本) 使用的是LF。
上面warning的意思是说:文件ueditor.config.js在提交时换行符CRLF将被转换为LF,检出时再把LF转换为CRLF。
想起来一个段子:
先生吃饭不吃屎,
饭到肚里变成屎。
饭变屎来多麻烦,
不如当初就吃屎。
好吧,太污了,我的意思是说,转换来转换去的太麻烦,直接全局设置git的变量,让它不进行转换就可以了。
使用下面的方法:
#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true
#提交时转换为LF,检出时不转换
git config --global core.autocrlf input
#提交检出均不转换
git config --global core.autocrlf false
因此,要想消除警告,直接在git中执行$ git config --global core.autocrlf false即可。
或者先清除一下缓存:
git rm -r --cached ./
git config core.autocrlf false
git add ./