最近我修改了gits选项core.autocrlf
并将其设置为input
。我测试了配置参数是否设置正确:
$ git config --global core.autocrlf
input
$ git config core.autocrlf
input
然后为了测试gits的行为,我删除了项目文件夹的所有内容(当然除了文件夹
.git
),并创建了一个git reset --hard HEAD
但我的编辑告诉我,行尾仍然
CRLF
。为什么?
(我在ubuntu上使用atom作为编辑器。editors语句似乎是有效的,因为当我告诉它将所有行尾更改为
LF
时,git告诉我文件的每一行都已更改。)为了进一步了解整个主题,我阅读了这篇有启发性的文章:
Mind the End of Your Line
最佳答案
core.autocrlf=input
仅在将文件结尾添加到索引(并提交它们)时才采用文件结尾。
它不会在前往工作区的途中修改文件。您需要使用true
来实现这一点,而且大多数情况下都需要使用较旧的mac和windows,其中本机行尾不是lf。
但最有可能的是,gittattributes对您来说是一个更好的系统,正如您在文章中提到的。