项目的开发环境为Windows,在Linux环境下编译,使用Git进行版本控制。

在安装好Git和TortoiseGit后,从远端clone,遇到一个奇怪的问题,Shell脚本中的LF总是被替换成了CRLF,最后发现是在Git的安装过程中有一项没有被配置好。

在Windows下,由回车CR(0x0D)(\r)和换行LF(0x0A)( \n))共同标志一行的结束。

而在Linux和Mac环境下,每一行的结束仅有一个换行LF(0x0A)(\n)。

在Git中有一项core.autocflf配置项,它可以被配置为true,false和input,它们分别表示:

 // 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true // 提交时转换为LF,检出时不转换
git config --global core.autocrlf input // 提交检出均不转换
git config --global core.autocrlf false

使用上述的最后一条命令,将core.autocrlf配置为false,即不开启自动转换功能。之后重新clone,本地仓库中的Shell脚本中不再出现CR。检查我的Git配置,发现core.autocrlf被配置为了true。这样,在从远端clone仓库时,Shell脚本中的LF就被替换成了CRLF。

Git中的core.autocrlf选项的更多相关文章

  1. git config --global core.autocrlf false

    git config --global core.autocrlf  false warning: LF will be replaced by CRLF in .idea/vcs.xml.The f ...

  2. git core.autocrlf配置 解决Windows和Linux(Mac)换行问题

    格式化 格式化是许多开发人员在协作时,特别是在跨平台情况下,遇到的令人头疼的细小问题. 由于编辑器的不同或者Windows程序员在跨平台项目中的文件行尾加入了回车换行符, 一些细微的空格变化会不经意地 ...

  3. git core.autocrlf配置说明

    格式化 格式化是许多开发人员在协作时,特别是在跨平台情况下,遇到的令人头疼的细小问题. 由于编辑器的不同或者Windows程序员在跨平台项目中的文件行尾加入了回车换行符, 一些细微的空格变化会不经意地 ...

  4. Git中的AutoCRLF与SafeCRLF换行符问题

    最近在使用GitHub,发现不时没有修改过的文件要提交,对比发现文件全部修改,但找不到不一样的地方.想可能是换行符的问题,因为Windows和Linux的换行符不一样,而Git默认应该是Linux的, ...

  5. git 中关于LF 和 CRLF 的问题

    git 中关于LF 和 CRLF 的转换问题注意: Windows下编辑器设置中,建议调整设置为Unix风格.(具体设置位置各种编辑器上不同,需要找找) 使用Git Bash进行命令行操作时,运行一下 ...

  6. 在Git中一定要关注的crlf自动转换

    GitHub 第一坑:换行符自动转换 如果你已经做出了错误的选择,也不需要重新安装,可以直接使用命令行来修改设置.很简单,直接打开这货自带的命令行工具 Git Bash,输入以下命令,再敲回车即可: ...

  7. vscode wsl git 换行符问题autocrlf

    wsl中使用code,由于windows换行符问题git会显示大量文件修改,此时需要在wsl中设置autocrlf设置 git config --global core.autocrlf input ...

  8. Git中crlf自动转换的坑

    新上手一个项目,克隆了代码下来搭环境,一路坑.其中一个sh脚本执行不了,报IOException,java日志除了"找不到文件或文件夹"之外看不出任何信息,手动运行脚本才发现是脚本 ...

  9. 怎么解决Git中出现 "LF will be replaced by CRLF" 警告

    Windows中使用CRLF标识一行的结束,而在Linux/UNIX系统中只使用LF标识一行的结束.CRLF即Carriage-Return Line-Feed的缩写.通常情况下,Git库不会自动修改 ...

随机推荐

  1. js读取json

    Json字符串是: [{"n":"aaa","un":"aaa"},{"n":"yang& ...

  2. maven开发SSH

    虽然开发SSH的基本步骤都差不多,但每次都从头开始做真的会有点儿烦,把maven的SSH框的基本代码放出来,下次就可以复制粘贴哈哈. 1. 配置文件: (1)pom.xml <project x ...

  3. Jmeter基础-下载与安装

    jmeter下载与安装 下载网址:http://jmeter.apache.org/download_jmeter.cgi windows点击下载zip文件 该版本需要JDK1.8及以上版本 免安装, ...

  4. web自动化之执行js脚本

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  5. [译]Tus 协议

    原文地址:https://tus.io/protocols/resumable-upload.html 摘要 该协议提供一种基于 HTTP/1.1 和 HTTP/2 机制用于文件断点续传. 核心协议 ...

  6. elementUI中el-input输入数字且保留指定小数位

    <input type="text" placeholder="请输入保留一位小数的数字" class="user-input user-nam ...

  7. 前端基础进阶(十三):透彻掌握Promise的使用,读这篇就够了

    Promise的重要性我认为我没有必要多讲,概括起来说就是必须得掌握,而且还要掌握透彻.这篇文章的开头,主要跟大家分析一下,为什么会有Promise出现. 在实际的使用当中,有非常多的应用场景我们不能 ...

  8. [JavaWeb基础] 019.Struts2 MVC架构之ModelDriven

    用过struts1的人接触struts2的时候,通常会产生一个疑惑,明明struts1已经把action的form分开了,为什么struts2确把模型放在action中定义.其实这个方式只是想让act ...

  9. [批处理教程之MySQL]001.MySQL 常用命令大全

    连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MySQL 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p ...

  10. parrot os的一些坑

    burpsuite 破解版的运行环境需要jdk8,jdk11无法运行 选择jdk环境 update-alternatives --config java 截图工具 sudo apt install f ...