跨平台代码写作时Git对换行符的处理
Windows的换行符为CRLF,Linux/Unix为LF,如果Linux的sh脚本的换行符都是CRLF,sh执行就会有问题,因为如果不注意换行符的问题,git clone到Windows设备本地的文件直接复制到LInux机器上就会有问题,有一下几种解决办法
- 全局设置
git config --global core.autocrlf input
- 对单库进行设置
//cd 库目录后使用
git config core.autocrlf input
- 使用.gitattributes文件控制换行符
//.gitattributes文件文件内容
*.sh text eol=lf
core.autocrlf值说明
参数 | 详解 |
---|---|
true | Windows平台下默认选项,如果设置为该项,push代码的时候,会将push到代码仓库的代码切换为LF模式,当从远处仓库pull代码的时候,会将保存到本地的代码设置为CRLF模式。 |
input | 如果设置为该项,push代码的时侯,会将push到代码仓库的代码切换为LF模式,当从远程代码仓库pull代码的时候,不会转换代码的换行符。 |
false | Linux下默认为该选项,即无论push还是pull代码,都不对代码的换行符进行转换。 |