git 自动转换行符的坑爹案例

本人写的脚本都是在unix上运行的,但是编写有时候喜欢使用git拉去到windows的ide进行编写,毕竟我的unix只有命令行的没有ide,

殊不知有一天我的sh执行时出现错误

-bash: ./dailytask.sh: /bin/sh^M: bad interpreter: 没有那个文件或目录

使用vim的命令:set ff?来查看文件格式发现已经是dos,修改格式为unix,命令如下:set ff=unix

接着再运行就好了

如果文件很多都修改成dos格式了,请示用dos2unix来进行批处理操作

具体原因是git开启了自动转换行符的操作

目前最稳妥的做法是关闭自动换行的设置

对于git bash用户使用命令:

git config --global core.autocrlf false

为了保证文件的换行符是以安全的方法,避免windows与unix的换行符混用的情况,最好也加上这么一句

git config --global core.safecrlf true

对于使用TortoiseGit的同学来说可以“快捷菜单”->“Git”,将autocrlf去掉勾选


作者:牛仔好鬼忙
来源:CSDN
原文:https://blog.csdn.net/razorluo/article/details/42551691
版权声明:本文为博主原创文章,转载请附上博文链接!

Leave a Reply