现象
在使用 git add 或 git commit 命令推送项目文件时,有时会出现如下警告:
warning: LF will be replaced by CRLF in xxx.
The file will have its original line endings in your working directory
原因
原因是推送的文件中存在LF换行符。
CRLF和LF是两种换行符,git工作区默认使用CRLF换行符,当我们项目文件里有用存在LF换行符时,push到远程仓库时git会统一将LF换行符转化为CRLF换行符。但是git只修改暂存区文件,而不会修改工作区的文件,因此每次使用git add 或git commit命令时都会弹出上述警告。
解决方式
1. 禁止git自动将LF换行符转换为CRLF换行符
在git命令行中输入如下指令:
rm -rf .git // 删除.git
git config –global core.autocrlf false //禁用自动转换
git init //初始化git库
git add –all //提交所有修改到暂存区
config –global core.autocrlf命令会有三个输出:“true”,“false”,“input”
-
为true时:Git会将你add的所有文件视为文本问价你,将结尾的CRLF转换为LF,而checkout时会再将文件的LF格式转为CRLF格式。
-
为false时:line endings不做任何改变,文本文件保持其原来的样子。
-
为input时:add时Git会把CRLF转换为LF,而check时仍旧为LF,所以Windows操作系统不建议设置此值。
2. 直接忽略(推荐)
遇到了这种问题可以直接忽略,对我们整体工作不会造成影响!