好的,所以我已经阅读了关于这个主题的所有线程,我的理解如下:
如果我设置core。在Windows中,git应该在提交和推送时将所有的crlf行结尾转换为LF。
这就是我想要的,我已经这样设置了我的配置。但是,当我签入具有CRLF结尾的文本文件时,我得到错误消息:
fatal: LF would be replaced by CRLF
我不明白…当我承诺的时候不应该发生相反的事情吗?
这个消息是有误导性的,但是是有意义的:
- 你检查你的文件,行结束规范化完成:
CRLF
被替换为LF
,LF
保持为LF
。 - 稍后,您签出有问题的文件。现在git将"撤销"行结束规范化:
LF
将被CRLF
取代。
在该过程结束时,工作目录中的所有LF
都已替换为CRLF
。这就是git警告你的。
注意:我不建议使用core.autocrlf
-这是一个已经被取代的旧设置。使用属性代替。详见:https://stackoverflow.com/a/13154031/758345