致命错误:'core.autocrlf'的布尔配置值不正确。

4

我是Git的新手,正在创建一个测试仓库以了解其工作原理。

首先,在我执行git add命令时,出现了一个警告,告诉我我的文件将被转换成clrf或类似的格式。

所以我尝试进行更改,看看会发生什么。

我输入了git config core.autocrlf=false,但没想到“=”会被传递为该布尔值的值。这对我来说没有太多意义。

所以我知道在变量中不需要使用“=”来赋值。我再次输入了git config core.autocrlf false

然后我执行git add命令,并收到以下消息:fatal: bad boolean config value "=" for 'core.autocrlf'

接下来,我运行了git config --get-all core.autocrlf命令来了解情况。我发现当我设置一个新值时,它并没有覆盖原来的值,而是添加了另一个值。

我检查了我的"/Git/etc/gitconfig"文件,查看autocrlf变量的值,以便直接从这里更改它,但是值为"true"。

因此,我不明白这些值存储在哪里。

我还尝试了以下操作:

    git config --unset-all core.autocrlf 
    git config --replace-all core.autocrlf
    git config --system --unset core.autocrlf

所有尝试都未奏效。对于最后一次尝试,我遇到了权限被拒绝的问题,然后执行了chmod u+x gitconfig 但是却得到了“gitconfig: permission denied”的更改权限错误提示。

如果你知道该如何更改布尔值“core.autocrlf”的值,以便我能够添加我的仓库,请告诉我。##


1
尝试运行 git config --get-all --show-origin core.autocrlf 命令,它会显示配置值的位置。我猜测这两个实例不在同一个配置文件中。 - joanis
1
另外,如果您希望将设置全局应用于您的账户,请使用 git config --global core.autocrlf false 命令来更改您的全局 Git 配置,而默认情况下只会更改您所在的沙盒。 - joanis
1
还有一件事,你可以使用普通文本编辑器手动编辑Git配置文件。对于你来说最简单的方法可能是只需删除错误的配置行并重新开始。 - joanis
1
此外,git config --editgit config --global --edit 命令将启动您配置的编辑器(当然,您首先需要使用 git config 命令设置)。这可以用于编辑本地或全局配置文件。 - torek
谢谢Joanis,我执行了git config --get-all --show-origin core.autocrlf命令,然后通过一些cdstart .gitconfig打开了存储错误autoclrf值的文件。此外,global命令是我在这里缺少的东西,非常感谢。谢谢Torek,这对于编辑我的设置非常有帮助! - Gromlof
7个回答

5

如果你看到“不良布尔值”这个错误提示,说明你正在使用Git 2.31+版本。
只有这个最近的版本改进了错误信息,就像我在这里所报道的那样。

这也意味着你拥有--show-scope选项(在2020年第一季度引入的Git 2.26中)

git config --get-all --show-origin --show-scope core.autocrlf
system  file:D:/newenv/prgs/gits/current/etc/gitconfig  true
global  file:C:/Users/vonc/.gitconfig  false
^^^^^^
(scope)
(shows you which git config --local/global/system to use)

我不建议使用--edit直接编辑.gitconfig文件的内容。使用unset命令删除再重新设置更加安全。


3

我曾经遇到过同样的问题,如果你使用的是Windows系统,只需将其设置为true即可:

$ git config --global core.autocrlf true

如果你使用的是 macOS,请将其设置为 false:
$ git config --global core.autocrlf false

2
请花几秒钟时间校对您的答案。您竟然把“true”和“false”都打错了... - Chris

1

和 OP 一样,我也不小心将一个值添加到了 core.autocrlf 布尔值中 - 为什么允许这种情况而不只是允许布尔配置值的 setunset,我不确定。

为了修复致命错误 - 它阻止了 git 能够做任何事情,包括恢复到早期的快照 - 我做了以下操作:

git config --edit

然后我只需从我的存储库的.git/config文件中删除包含autocrlf的行即可。


0

在你的终端中输入以下命令:

git config --global -e

它将会打开 .gitconfig 文件。 如果你使用的是 Windows,前往该文件所在目录。

C:\Users\xxx_

你会找到 .gitconfig 文件。


0

我被“fatal: bad boolean config value”吸引到这里。 我分享我的经验,以帮助其他人。

我的问题是我错误地输入了git config --system core.longpaths true~(看看最后一个字符?)。 当我尝试使用git config --system core.longpaths true修复它时,我只得到了fatal: bad boolean config value 'true~' for 'core.longpaths'

joanniscomment是我的救星;git config --get-all --show-origin core.longpaths告诉我我必须编辑哪个文件来修复我的错误布尔值


0

我刚遇到了相同的问题,当我搜索clfr转换为lf警告时。

解决方案:

$ git config --global core.autocrlf true

0
$ git config --local --replace-all core.autocrlf true

我使用了这个命令来解决错误:bad boolean value '=' core.autoclrf。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接