2016-09-30 54 views
1

我将core.autocrlf设置为true。我想把它改成假。在混帐击我跑Git忽略对core.autocrlf的更改

git config --global core.autocrlf false

git config --list仍显示core.autocrlf=true

我已经重试重新启动Git Bash并在空目录中运行,即不是回购,但似乎没有任何改变。有任何想法吗?

+0

当你运行这两个命令时你会得到什么? 'git config --get --local core.autocrlf' 'git config --get --global core.autocrlf' – TeamTam

+0

@TeamTam,我没有得到第一个命令(--local),我得到'false'为第二个( - 全球)!为什么第二个不同于'git config --list'? – user1332148

+0

Git从各种来源(即本地,全局,系统)获取其配置。当你调用'git config --list'时,它会将它们全部按原样显示出来,而不会聚合IIRC。所以我怀疑你只需要确定你的设置来自哪个配置文件以及它的优先级。 – TeamTam

回答

1

使用Git版本2.8开始,你可以简单地使用:

git config --list --show-origin 

你会看到它的配置设置的位置。

这应该允许您检查core.autocrlf全局设置是否被特定于存储库的设置所覆盖,并可能解释为什么看起来该设置似乎被忽略。

+0

谢谢。这就是--show-origin显示的内容: 'file:“C:\\ ProgramData/Git/config”core.autocrlf = true' 'file:C:// Users/ /.gitconfig core.autocrlf =假' 所以,我有两个,'git config --list'只打印ProgramData中的一个 – user1332148

+0

你可以发布'git config --list | grep autocrlf'和'git config --list --show-origin | grep autocrlf'在你的问题中吗?此外,您正在使用的Windows版Git是什么? –