Git core.autocrlf行结束默认设置

时间:2016-09-09 09:53:56

标签: git operating-system newline

如果用户没有更改此设置,我试图找出Git中core.autoclrf的默认值。

我查看了文档,但无法找到此信息。你能指点我正确的方向吗?

具体来说,在新的Git安装中,Git会在从Windows系统提交回购时自动将Windows行结尾转换为Unix吗?

谢谢!

5 个答案:

答案 0 :(得分:23)

检查git source code,默认情况下,core.autocrlf设置为false。 (自从该属性在Feb 13, 2007上的原始介绍以来,虽然它已经从静态值转换为常量。)

Windows安装程序确实要求您为git系统配置中显式设置的此属性选择一个值。

答案 1 :(得分:7)

很难找到这个说明,但我可以通过反复试验弄清楚:

  • 默认值为" false"

  • Windows安装程序允许您选择所需的行为,但默认情况下(如果您安装时不更改建议的设置),它会将其设置为" true"。这不是软件默认设置,安装程序会设置core.autocrlf系统设置。

"假"表示没有在行结尾处理 "真"表示根据系统检入并检出(Windows上的CRLF和Unix上的LF)。

当使用Unix和Windows时,建议使用" false"在Unix上(因为自动转换可以破坏一些看起来行文本文件的二进制文件,而且无论如何Unix都使用LF)和" true"在Windows上(否则存储库充满了CRLF,导致兼容性问题)。

答案 2 :(得分:0)

您可以通过发出此命令列出所有配置键值

git config --list

我认为默认是

  

core.autocrlf =真

虽然这是我在安装Git for Windows时选择的设置(或更好地说“未触及”)

答案 3 :(得分:0)

出于OP的特定情况,以及跨平台差异,全局.gitconfig文件和本地.gitconfig文件的情况,确定此错误的最佳方法是运行:

git config auto.crlf

在全新安装Git之后,找出哪种设置有效。

请注意,命令的输出将根据您当前的工作目录(及其本地.gitconfig)而改变


注意:

在Unix上描述相同命令的注释确实有效,但是发帖人使用了错误的配置密钥。它应该是core.autocrlf,而不是autocrlf。

  

git-scm.com/book/en/v2/Customizing-Git-Git-Configuration上的文档列出了三个选项,但没有说明哪个是默认选项,而在Ubuntu上的全新安装上git config --list没有给出autocrlf的条目,git config --get autocrlf返回错误:键不包含节:autocrlf。大概这意味着default为false,但最好确认一下。

答案 4 :(得分:-1)

如果您使用的是最新的git窗口安装程序,则core.autoclrf的默认选项为false。