CRLF would be replaced by LF
添加了一下之前在其他系统使用的文件时候出现了以下错误:
➜ laravel5.2 git:(master) ✗ git add .
fatal: CRLF would be replaced by LF in public/assets/css/ace-fonts.css.
百度说法
由于Unix 和 Windows 下对换行符的解释不同。因为win下文件回车换行是以CRLF结尾,而用VIM编辑器新建的文件是以LF结尾,导致出现了此问题。
百度解决方法:在config添加
autocrlf = false
或者
#备注可以使用--global 也可以不实用,影响不大
git config --global core.autocrlf true #这个是转换,也是默认值
git config --global core.autocrlf input #貌似是上库转换,从库中迁出代码不转换
git config --global core.autocrlf false #这个一般是window上的,不转换
以上都未能真正解决问题,以下才是解决的方法。
使用 dos2unix 对文件进行格式转换
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。
DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。
而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A。
DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件。
而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。
因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。
mac 安装 dos2unix
➜ laravel5.2 git:(master) ✗ brew install dos2unix
ubunt 安装 dos2unix
sudo apt-get install dos2unix
进行格式转换
➜ project find laravel5.2/public/assets -type f -exec dos2unix {} +
git add ... ok ... end!!!