写在前面
git是一种分布式的代码版本管理工具,目前也是主流,广泛应用在大小公司、大小项目中。
因为目前大多基于windows平台开发,这里Mac不说,没用过,编写的shell脚本在提交git时有个默认的转换:
注意:
warinig: LF will be replaced by CRLF in xxx.sh
这里有个dos格式到unix的转换,大致意思是git add/git commit的时候会转换成unix格式,git pull的时候又转成了dos格式,那么将这些个文件上传到主机的时候就是dos格式的了,所以在Unix下执行就会报错:
回车位置会提示:“\r”找不到命令
解决方法:
在git bash里加入第一行配置即可:
git config --global core.autocrlf false
git config --global core.safecrlf true
含义:
AutoCRLF
#提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true
#提交时转换为LF,检出时不转换
git config --global core.autocrlf input
#提交检出均不转换
git config --global core.autocrlf false
SafeCRLF
#拒绝提交包含混合换行符的文件
git config --global core.safecrlf true
#允许提交包含混合换行符的文件
git config --global core.safecrlf false
#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn