以前都是在Linux上工作,所以在使用Git的时候没有碰到文件行分隔符的问题,现在突然转到Windows上使用Git,发现原来是Unix文件行结束符的文件在使用git diff的时候显示文件所有行都被修改。
导致这个问题的原因是Git自作聪明的“换行符自动转换”功能。要修复这个问题可以有几个方式
在安装“Git for windows”的时候,在“Configuing the line ending conversions”页面,将默认选中改为“Checkout as-is, commit as-is”
如果已经安装过了,也可以通过命令行修改,打开“Git Bash”,然后输入
git config --global core.autocrlf false
- 也可以在“Git Bash”中修改~/.gitconfig文件,加入或修改下面的行
[core]
autocrlf = false
- 如果使用TortoiseGit,可以在setting的Git配置中取消选中“AutoCrlf”,然后选中“save as Global”