Git core.autocrlf 行结束默认设置

问题描述 投票:0回答:6

我正在尝试找出如果用户不更改此设置,Git 中

core.autocrlf
的默认值是什么。

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

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

谢谢!

git operating-system newline
6个回答
55
投票

查看git源码,core.autocrlf默认设置为false。 (自该属性于 2007 年 2 月 13 日首次引入以来一直如此,尽管此后它已从静态值转换为常量。) Windows 安装程序确实要求您为此属性选择一个值,该值在 git 系统配置中明确设置。


13
投票

    默认值为“false”
  • Windows 安装程序允许您选择所需的行为,但默认情况下(如果您在安装时未更改建议的设置)会将其设置为“true”。这不是软件默认设置,安装程序设置 core.autocrlf 系统设置。
  • “false”表示不处理行结尾 “true”表示以 LF 签入并根据系统签出(Windows 上为 CRLF,Unix 上为 LF)。

当同时使用 Unix 和 Windows 时,建议在 Unix 上使用“false”(因为自动转换可能会破坏一些看起来像文本文件的二进制文件,而 Unix 无论如何都使用 LF),在 Windows 上使用“true”(否则存储库已满)带有 CRLF 会导致兼容性问题)。


1
投票

git config --list

据我所知,默认值是

core.autocrlf=true

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


0
投票

git config --list --show-origin | grep core.autocrlf MINGW64 /c/workspaces/project/ $ git config --list --show-origin | grep core.autocrlf file:C:/Program Files/Git/etc/gitconfig core.autocrlf=true



-1
投票


-1
投票

因此,找出配置和/或确认所需行为的最有用方法是运行:

git config core.autocrlf

    

© www.soinside.com 2019 - 2024. All rights reserved.