2

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

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

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

fatal: LF would be replaced by CRLF

我不明白...当我提交时,不应该发生相反的情况吗?

4

1 回答 1

3

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

  1. 您签入文件,行尾规范化完成:CRLF替换为LFLF保留为LF.
  2. 稍后,您检查有问题的文件。现在 git 将“撤消”行结束规范化:LF将替换为CRLF.

在该过程结束时,LF您工作目录中的所有 s 都已替换为CRLF. 这就是 git 警告你的地方。

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

于 2013-03-15T17:19:44.680 回答