如果用户没有更改此设置,我试图找出Git中core.autoclrf
的默认值。
我查看了文档,但无法找到此信息。你能指点我正确的方向吗?
具体来说,在新的Git安装中,Git会在从Windows系统提交回购时自动将Windows行结尾转换为Unix吗?
谢谢!
答案 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。