Git core.autocrlf行结束默认设置

Pen*_*ica 34 git operating-system newline

我试图弄清楚core.autocrlf如果用户没有更改此设置,Git中的默认值是什么.

我查看了文档但找不到此信息.你能指点我正确的方向吗?

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

谢谢!

Lig*_*der 30

检查git源代码,默认情况下core.autocrlf设置为false.(自20072月13日该物业的原始介绍以来,虽然它已经从静态值转换为常数.)

Windows安装程序确实要求您为此属性选择一个值,该值在git system config中明确设置.

  • 实际上它并没有在“系统配置”中设置它。它将其设置在(Windows 特定的)异常 ProgramData 配置文件中。它充当一种“所有用户”或“所有应用程序”设置文件(可以由多个 git 应用程序共享),位于“\ProgramData\Git\config”。没有用于在命令行访问它的标志。 (8认同)

小智 7

很难找到这个陈述,但我可以通过反复试验得出以下结论:

  • 默认值为“ false”

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

“ false”表示对行尾不进行任何处理“ true”表示作为LF签入并根据系统(在Windows上为CRLF,在Unix上为LF)签出。

当同时使用Unix和Windows时,建议在Unix上使用“ false”(因为自动转换可能会破坏某些看起来像行文本文件的二进制文件,而Unix仍然使用LF),而在Windows上则使用“ true”(否则,存储库将被填充) CRLF,这会导致兼容性问题)。