这里有很多关于在 Git 中处理行尾的问题。但是,我没有看到的一个问题是,使用EditorConfig是否对 Git 如何处理行尾有任何影响。
我问是因为我从事的几乎所有项目都有一个.editorconfig
设置end_of_line
为lf
. 这对我来说很好,但在 Windows 中设置 Git 的行尾处理的标准建议是设置autocrlf
为true
(即在签出时转换为 CRLF)。
在这种情况下,Editorconfig 和 Git 似乎在朝着相反的方向发展(Git 会在结帐时将行尾转换为 CRLF,但随后 Editorconfig 可能会在保存文件时将它们转换回 LF)。所以我想知道使用 Editorconfig 是否会使 Windows 上的行尾最佳实践有所不同?
笔记:
我的倾向是遵循 Editorconfig 并向每个项目添加一个.gitattributes
包含* -text
(即告诉 Git 不要触摸行尾,无论autocrlf
设置如何)的文件,每个项目都有一个.editorconfig
为项目指定行尾的文件(我知道每个人在这些项目上工作使用 Editorconfig 和/或正在使用使用lf
结尾的操作系统,这似乎避免了 Git 经常在 Windows 中喷出的恼人的行尾转换警告)。问题是,尽管有很多关于该主题的阅读,Git 中的行尾仍然让我感到困惑,所以我不确定上述内容不会引入新问题(之前的实验.gitattributes
最终破坏了图像文件)。那么:这作为一种方法有意义吗?还是 Editorconfig 与行尾处理最佳实践无关?