标签:inpu 开发 替换 环境 pre 提交 换行 oba 而在
项目的开发环境为Windows,在Linux环境下编译,使用Git进行版本控制。
在安装好Git和TortoiseGit后,从远端clone,遇到一个奇怪的问题,Shell脚本中的LF总是被替换成了CRLF,最后发现是在Git的安装过程中有一项没有被配置好。
在Windows下,由回车CR(0x0D)和换行LF(0x0A)共同标志一行的结束。
而在Linux和Mac环境下,每一行的结束仅有一个换行LF(0x0A)。
在Git中有一项core.autocflf配置项,它可以被配置为true,false和input,它们分别表示:
1 // 提交时转换为LF,检出时转换为CRLF 2 git config --global core.autocrlf true 3 4 // 提交时转换为LF,检出时不转换 5 git config --global core.autocrlf input 6 7 // 提交检出均不转换 8 git config --global core.autocrlf false
使用上述的最后一条命令,将core.autocrlf配置为false,即不开启自动转换功能。之后重新clone,本地仓库中的Shell脚本中不再出现CR。检查我的Git配置,发现core.autocrlf被配置为了true。这样,在从远端clone仓库时,Shell脚本中的LF就被替换成了CRLF。
标签:inpu 开发 替换 环境 pre 提交 换行 oba 而在
原文地址:http://www.cnblogs.com/outs/p/6909567.html