跨平台代码写作时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文件文件内容
 *.sh text eol=lf

core.autocrlf值说明

参数 详解
true Windows平台下默认选项,如果设置为该项,push代码的时候,会将push到代码仓库的代码切换为LF模式,当从远处仓库pull代码的时候,会将保存到本地的代码设置为CRLF模式。
input 如果设置为该项,push代码的时侯,会将push到代码仓库的代码切换为LF模式,当从远程代码仓库pull代码的时候,不会转换代码的换行符。
false Linux下默认为该选项,即无论push还是pull代码,都不对代码的换行符进行转换。