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去掉勾选

时间: 2024-12-24 11:51:38

git 自动转换行符的坑爹案例的相关文章

禁止 git 自动转换换行符

开发团队都在 windows 下开发,有IDE管理代码.对我们来说,最好是禁用换行转换符的功能.我用 cygwin 提交代码,提交时总提示自动转换换符.其实都不用提交,仅运行 git status 看有没有提示就知道了. 也是在网上找了一圈,一些建议是运行下面的命令: git config --global core.autocrlf falsegit config --global core.saftcrlf true 如果不运行命令,直接编辑 ~/.gitconfig 增加下面的内容也是一样

idea CRLF LF 编码问题,解决保存时自动更改换行符

1:检查git配置. 确保git的全局配置.系统配置保持一致的crlf,比如:autocrlf = true #我公司要求autocrlf = false,我建议用true较好,网上一搜都是true. 2:检查idea设置,codestyle 换行符自定,注意codestyle中红色框的选项.idea默认是勾选的,如果默认情况下换行符正常,可以不用理会,如果当你使用idea编辑文件时,当文件保存的时候就会自动把文件换行符由LF改为CRLF(我是这种情况),此时去掉红色框的勾即可,下面有句话说的是

asp.net页面过滤所有换行符和多余空格

不知道大家注意到了没有,Google和Baidu网页的HTML源代码是混合在一起的.HTML代码混合在一起,出发点是为了减小网页体积,从而加快网页加载速度. 写个函数把网页HTML源代码的换行符和空格过滤掉其实并不难,我这里是写了个基类,在asp.net编程时,页面只要继承这个基类,那么输出的HTML代码就会自动去掉换行符,和多余的空格符号,例如“> <”之间的空格符号. using System; using System.Data; using System.Configuration;

os.popen(cmd) .read() 获取执行后的结果且带有换行符\n

os.popen(cmd) .read()  获取执行后的结果自动带有换行符\n >>> a=os.popen("ls ./soapnuke_output/CL100006359_L01_8 |wc -l")>>> a<open file 'ls ./soapnuke_output/CL100006359_L01_8 |wc -l', mode 'r' at 0x7f66e8038c00>>>> a.read<bu

织梦dede:arclist输出取消换行符

织梦在使用dede:arclist输出文档时,会自动有换行符,想要去掉的同学可以这样做 打开 /include/taglib/arclist.lib.php 找到 $artlist .= $liststr."\r\n"; 改成 $artlist .= $liststr; 有2处,记得都要改哦 原文地址:https://www.cnblogs.com/dedevip/p/9901222.html

Git坑换行符自动转换 [转载]

转自https://www.cnblogs.com/zjoch/p/5400251.html 源起 一直想在 GitHub 上发布项目.参与项目,但 Git 这货比较难学啊.买了一本<Git 权威指南>,翻了几页,妈呀,那叫一个复杂,又是 Cygwin 又是命令行的,吓得我不敢学了. 终于某天发现 GitHub 还有一个 Windows 客户端,试了一下还挺好用.不需要掌握太多的 Git 原理和命令,也可以在 GitHub 上麻溜建项目了,甚是欢喜.可是好景不长,第一次参与开源项目就出洋相了.

菜鸟教程之工具使用(八)——EGit禁止自动转换回车换行符

众所周知,Windows和Linux系统的回车换行是不一样的.想要进一步了解它们的可以阅读下面的介绍,不感兴趣的可以直接跳过. 产生背景 关于"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符传过

github 换行符自动转换功能

最近想把自己的一个Qt工程同步到github上,但是当自己把代码从仓库中签出来的时候编译的时候总是出现一些很奇葩的错误,一开始以为是源文件编码的问题,改了编码以后问题还是没有解决,我比较了一下两个工程中的文件,真是一比吓一跳啊 windows换行是\r\n,十六进制数值是:0D0A.LINUX换行是\n,十六进制数值是:0A Git 由大名鼎鼎的 Linus 开发,最初只可运行于 *nix 系统,因此推荐只将 UNIX 风格的换行符保存入库.但它也考虑到跨平台协作的场景,并且提供了一个“换行符自

GitHub 第一坑:换行符自动转换

源起 一直想在 GitHub 上发布项目.参与项目,但 Git 这货比较难学啊.买了一本<Git 权威指南>,翻了几页,妈呀,那叫一个复杂,又是 Cygwin 又是命令行的,吓得我不敢学了. 终于某天发现 GitHub 还有一个 Windows 客户端,试了一下还挺好用.不需要掌握太多的 Git 原理和命令,也可以在 GitHub 上麻溜建项目了,甚是欢喜.可是好景不长,第一次参与开源项目就出洋相了. 经过 小心翼翼地 Fork 了朴灵大大 (@JacksonTian) 的 EventProx