一、不同操系统下的换行符
CR回车 LF换行 Windows/Dos CRLF \r\n Linux/Unix LF \n MacOS CR \r
二、解决方法
打卡git bash,设置 core.autocrlf 和 core.safecrlf(可不设置),建议设置 autocrlf 为input,safecrlf 为true,同时设置你的 Eclipse、IDEA等IDE的换行符为LF\n。 下面为参数说明,--global表示全局设置
解释下两个参数的不同含义
2.1、autocrlf
#提交时转换为LF,检出时转换为CRLF git config --global core.autocrlf true
#提交时转换为LF,检出时不转换 git config --global core.autocrlf input
#提交检出均不转换 git config --global core.autocrlf false
2.2、safecrlf
#拒绝提交包含混合换行符的文件 git config --global core.safecrlf true
#允许提交包含混合换行符的文件 git config --global core.safecrlf false
#提交包含混合换行符的文件时给出警告 git config --global core.safecrlf warn
所以,如果我们使用的是 虚拟机(vagrant,或其他)+ win10 宿主机 的开发配置,那么只需设置下两条命令就行了:
git config --global core.autocrlf true
git config --global core.safecrlf false
若不这么做,则 git 会把一些未修改过的文件显示为被修改(认为换行符不同属于“修改”),这样做可以避开 git 频繁提醒。