无法让git autocrlf = true工作

时间:2013-03-15 12:55:25

标签: windows git newline core.autocrlf

好的,所以我已阅读了有关此主题的所有主题,我的理解如下:

如果我在Windows中设置core.autocrlf = true,git应该在提交和推送时将我所有的crlf行结尾转换为LF。

这就是我想要的,我的配置设置如此。但是,当我签入带有CRLF结尾的文本文件时,我得到错误消息:

fatal: LF would be replaced by CRLF

我不明白......当我犯下时,不会发生相反的事情吗?

1 个答案:

答案 0 :(得分:3)

该消息具有误导性,但有道理:

  1. 您签入文件,行结束规范化已完成:CRLF已替换为LFLF保留为LF
  2. 稍后,您会查看相关文件。现在git将“撤消”结束规范化的行:LF将替换为CRLF
  3. 在该过程结束时,您工作目录中的所有LF都已替换为CRLF。这就是git警告你的事情。

    注意:我不建议使用core.autocrlf - 这是一个已被取代的旧设置。请改用属性。见这里:https://stackoverflow.com/a/13154031/758345