预期换行符为 'LF' 但发现 CRLF

red*_* 87 6 javascript visual-studio

我正在使用 Visual Studio 代码并继承了一个使用“LF”行结尾的项目。默认情况下,Visual Studio Code 在 CRLF 中打开我的文件(我使用的是 Windows 10),这会导致我的 git pre-commit 挂钩失败。如果我将 Visual Studio Code 切换为使用屏幕右下角的 LF,我不会收到任何错误消息,但显然我希望避免每次编辑和尝试提交文件时都必须切换。

我按照this question的说明进行操作,我的理解是将files.eol设置更改为“\ n”将在LF中打开文件,但它仍然在CRLF中打开它们。

我对这些东西有点陌生,所以请耐心等待,但如果有人能告诉我我做错了什么,那就太好了。

值得一提的是,该项目有一个编辑器配置文件,其 end_of_line 设置为 LF,将其更改为 CRLF 也无济于事

Raj*_*dar 18

在您的终端或 cmd 提示符中运行它

git config core.autocrlf false
git rm --cached -r .
git reset --hard
Run Code Online (Sandbox Code Playgroud)

这通常发生在项目是在基于 UNIX 的系统上创建然后在 Windows 系统上使用时,因为两者都有不同的行尾。

我们需要在 git & uncommit & recommit 更改上禁用自动 CRLF。

注意 - 确保您没有任何未提交的更改,否则它将被删除!

参考

  • 这有效。我们有一个在 Windows 上使用 WebStorm 打开每个文件并发现有关 CRLF 的 linting 错误的开发人员。存储库中的文件是由 OS X 上的开发人员编写和提交的,因此我们无法弄清楚为什么 Windows 上的开发人员在更改文件之前就出现了 CRLF 错误。在 Windows 机器上遵循此解决方案修复了它。 (2认同)