Git中的core.autocrlf选项

Posted icuic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,检出时转换为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。

以上是关于Git中的core.autocrlf选项的主要内容,如果未能解决你的问题,请参考以下文章

git config core.autocrlf 是真的,但我仍然收到警告?

行尾转换如何在不同操作系统之间使用 git core.autocrlf

git系列4/4如何设置core.autocrlf | core.safecrlf (配置值的含义及最佳实践)

git系列2/4关于安装 Git 的时候选择 core.autocrlf 的配置值

warning: LF will be replaced by CRLF

如何更改行尾设置