git commit时报错,LF will be replaced by CRLF the next time Git touches it

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 风格)

解决办法:

  1. windows环境
    git config --global core.autocrlf true
    在检出文件时将行尾字符转换为 CRLF,而在提交时将其转换回 LF
    实际测试:没有用

  2. 配置prettier的配置文件,忽略行尾字符
    .prettierrc 新增 “endOfLine”: “auto”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值