问题描述:
windows git2.8.0 上传代码和 shell 脚本将 crlr 转换导致 linux 下 shell 无法正常执行。
以前都是在 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 文件,加入或修改下面的行
autocrlf = false
如果使用 TortoiseGit,可以在 setting 的 Git 配置中取消选中“AutoCrlf”,然后选中“save as Global”
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于