在我们的系统上,我们曾经能够将文件转换为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仍然没有为我自动转换换行符。
答案 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