git自动将文件从CRLF转换为LF不起作用

时间:2015-04-17 15:40:44

标签: git git-config

在我们的系统上,我们曾经能够将文件转换为git时将所有CRLF转换为LF。现在这个功能消失了。

以下是我所做的:

git config --global core.autocrlf false

完成上述操作后,我使用以下命令检查:

git config --list

结果是:

... 
core.autocrlf=input
...
core.autocrlf=false
...

这非常令人费解。虽然core.autocrlf有两个条目,而第一个条目是core.autocrlf=input?如果我使用:

取消设置core.autocrlf
git config --global --unset core.autocrlf

当我列出git config时,我仍然会得到一个条目:

core.autocrlf=input

第2步: 完成git config --global core.autocrlf false后,我将* text=auto添加到.gitattributes文件中。

但是git仍然没有为我自动转换换行符。

1 个答案:

答案 0 :(得分:8)

自git1.8.1rc1:

  

“git config --get”用于诊断多个定义的存在   同一个配置文件中的相同变量的错误,但是   它现在应用内部使用的“最后一个胜利”规则   配置逻辑

所以你的第二个设定适用。

有关core.autoctrlf选项的更多解释:

  

如果您使用的是Windows计算机,请将其设置为true - 这会转换为LF   签出代码时结束CRLF:

$ git config --global core.autocrlf true
  

你可以告诉Git在提交时将CRLF转换为LF,而不是另一种方式   将core.autocrlf设置为输入:

$ git config --global core.autocrlf input
  

如果您是Windows程序员,只执行Windows项目,那么您   可以关闭此功能,在中记录回车   通过将配置值设置为false来存储库:

$ git config --global core.autocrlf false

更多解释: http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#Formatting-and-Whitespace