为什么 IntelliJ 在保存时将行分隔符从 CRLF 更改为 LF

Dav*_*err 5 git intellij-idea

  • 我没有安装 IntelliJ 的“保存操作”插件。
  • git config core.autocrlf=> 正确
  • git config core.safecrlf=> 正确
  • 为了我的罪孽而运行 Windows 10
  • 对应的.gitattributes文件有* text=auto

我在 Windows 盒子上检出了一个 git 存储库。IntelliJ 最初显示文件最初是 CRLF 行分隔符(在我运行 Windows 时正确)。

  • 当我在 IntelliJ 中保存现有(Java)文件时,行分隔符更改为 LF。
  • 当我通过 Notepad++ 或 VSCode 保存文件时,行分隔符未更改。

这意味着当我执行 a 时,git add它会失败并显示fatal: LF would be replaced by CRLF in <file>.

快速加权加权平均法

  • 通过 Windows 控制台或 Git Bash 控制台签出 git repo 没有什么区别
  • 过去的某个时候,我通过 WSL 上的 Ubuntu 进行了克隆,但此后我已经将干净的克隆复制到了一个新文件夹中。

是否有任何 IntelliJ 设置可以阻止它更改 CRLF -> LF?

解决方法是使用--ignore-errors, 例如git add --ignore-errors <file>但这很烦人。

Cra*_*der 11

IntelliJ IDEA 默认.editorconfig情况下遵循配置,该配置会覆盖 IDE 格式设置。

您可以禁用此功能或从项目中删除此文件。