problem
本地执行git commit时,会出现很多文件出现diff信息,实际文件并没有修改,通过 git diff,
出现提示是 warning: in the working copy of ‘vite.config.ts’, LF will be replaced by CRLF the next time Git touches it。是什么原因导致的?怎么解决?
reason
出现这种情况的原因是你的 Git 配置或操作系统的行尾字符设置不同。
通常在 Unix/Linux 和 macOS 上,行尾字符是 LF (Line Feed, /n),
而在 Windows 上,行尾字符是 CRLF (Carriage Return and Line Feed, /r/n)。
简单来说,windows是/r/n,mac是/n导致
solution
Visual Studio Code 如何查看换行符类型?
在 VS Code 窗口的右下角,有一个显示当前文件换行符类型的区域。它通常会显示为 CRLF 或 LF。
CRLF 表示文件使用的是 /r/n 作为换行符(Windows 风格)。
LF 表示文件使用的是 /n 作为换行符(Unix/Linux 和 macOS 风格)
解决办法:
-
windows环境
git config --global core.autocrlf true
在检出文件时将行尾字符转换为 CRLF,而在提交时将其转换回 LF
实际测试:没有用 -
配置prettier的配置文件,忽略行尾字符
.prettierrc 新增 “endOfLine”: “auto”