我正在尝试弄清楚在Git中,如果用户没有更改设置,core.autocrlf
的默认值是什么。
我查看了文档,但找不到这个信息。你能告诉我正确的方向吗?
具体来说,在进行从Windows系统提交到版本库时,对于一个新的Git安装,Git是否会自动将Windows行结束符转换为Unix行结束符?
谢谢!
我正在尝试弄清楚在Git中,如果用户没有更改设置,core.autocrlf
的默认值是什么。
我查看了文档,但找不到这个信息。你能告诉我正确的方向吗?
具体来说,在进行从Windows系统提交到版本库时,对于一个新的Git安装,Git是否会自动将Windows行结束符转换为Unix行结束符?
谢谢!
查看git源代码,默认情况下core.autocrlf属性设置为false。(自从该属性在2007年2月13日引入时就是这样,尽管它已经从静态值转换为常量。)
Windows安装程序确实需要您选择一个值来显式地设置git系统配置中的此属性。
很难找到明确的说明,但我通过试错发现:
默认值为“false”
Windows安装程序会让你选择所需的行为,但默认情况下(如果你在不更改建议设置的情况下安装),它将其设置为“true”。这不是软件的默认设置,而是安装程序设置的core.autocrlf系统设置。
“false”表示不处理行尾 “true”表示以LF格式检入并根据系统检出(在Windows上为CRLF,在Unix上为LF)。
当同时使用Unix和Windows时,建议在Unix上使用“false”(因为自动转换可能会破坏一些看起来像文本文件的二进制文件,并且Unix始终使用LF),在Windows上使用“true”(否则,仓库就会充满引起兼容性问题的CRLF)。
git config --list
而且我看到默认值是
core.autocrlf=true
虽然这是我在安装 Git for Windows 时选择的设置(或者更准确地说是“未更改”)
.gitattributes
,则git config --list
会显示core.autocrlf=true
。如果我将其设置为false
,那么这个新设置将出现在输出的最后一行,从而覆盖默认设置。 - user2061057git config core.autocrlf
git config --list
没有显示autocrlf
条目,运行git config --get autocrlf
返回error: key does not contain a section: autocrlf
,因此我正在发布悬赏。很可能这意味着默认值为假(false),但最好确认一下。 - user56reinstatemonica8