【git】windows下git换行符自动转换致使centos下shell脚本没法正常运行

1.问题描述

  1. 项目中我为springboot项目部署准备了启动脚本start.sh,有时候启动正常,有时候启动报错,报错以下图:Inked微信图片_20200102220609_LI.jpg
  2. 从gitlab上检查start.sh脚本源码,并无发现有\r字符

2.缘由排查

  1. 从打好的zip里解压出start.sh,而后在git bash中经过od -c start.sh查看文件内容,发现文件内容确实有\r字符:Inked微信图片_20200102221413_LI.jpg
  2. gitlab源码上没有\r,而打好的包里有\r,从gitlab到打包步骤仅仅是经过windows git bash把代码clone下来而后mvn打包,全部怀疑是否是windows clone时被git转换了换行符\n->\r\n?
  3. 进过一番搜索,确实是git有一个配置参数来控制是否进行换行符转换:
    git config --global core.autocrlf false 禁用自动转换
    git config --global core.autocrlf true 开启自动转换
    git config --list 可查看当前git的配置项

3.解决方法

  1. git config --global core.autocrlf false 禁用自动转换
  2. 删除本地项目,从新clone而后mvn打包,问题解决~~~

看似小问题排查了很久,汗-_-!git

相关文章
相关标签/搜索