首页 > 代码库 > Git中的core.autocrlf选项

Git中的core.autocrlf选项

项目的开发环境为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,检出时转换为CRLF2 git config --global core.autocrlf true3 4 // 提交时转换为LF,检出时不转换5 git config --global core.autocrlf input6 7 // 提交检出均不转换8 git config --global core.autocrlf false

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

Git中的core.autocrlf选项