Git fatal: LF would be replaced by CRLF 各种情况分析处理,行尾符、换行符批量转换

两个相关的设置:autocrlf和safecrlf

autocrlf

负责自动转换crlf。
可设置值含义:

  • true(默认值):提交时转换为LF,检出时转换为CRLF
  • input:提交时转换为LF,检出时不转换
  • false:关闭转换

safecrlf

负责检查是否可以安全使用autocrlf功能(CRLF与LF混合等情况会出错)。
可设置值含义:

  • true(默认值):拒绝提交包含混合换行符的文件
  • warn:提交包含混合换行符的文件时给出警告
  • false:关闭检查功能,即允许提交包含混合换行符的文件

查看与设置:autocrlf和safecrlf

这两个设置项属于配置(在config中),而配置分为全局配置和项目配置。
全局配置查看与设置:

git config --global core.autocrlf true # 设置为true
git config --global core.autocrlf # 查看

项目配置查看与设置:

  1. 命令行:
git config core.autocrlf true # 设置为true
git config  core.autocrlf # 查看
  1. config文件
    打开修改“项目目录/.git/config”。
    在这里插入图片描述

一般的坑与解决

注:一般这两项都设置为true

  1. 文件中有混合的行尾符:将异常行尾符换成当前系统行尾符
  2. 文件中的行尾符都是异常行尾符:将异常行尾符换成当前系统行尾符

行尾符替换方法

编辑器:notepad++

  • 显示行尾符:视图->显示符号->显示行尾符
  • 字符替换法:Ctrl+R打开替换框,查找模式选择“扩展”或“正则表达式”。
    window下的换行符为“\r\n”,Linux的换行符为“\n”
    在这里插入图片描述
  • 文档格式转换法(混合行可能需要转换两次):编辑->文档格式转换->转为Windows。(或者转为其他类型)
    在这里插入图片描述

文件夹行尾符批量转换

编辑器:PHPStormPHPStorm

步骤:

  1. 点击选中要转换的文件夹(或文件)在这里插入图片描述

  2. 点击左上角工具栏:“文件”->“Line Separators”->选择你要转换成的类型(混合的行符时,一次转换无法完成,需先转换成其他类型,再转换回你想要的类型)
    在这里插入图片描述

参考链接:
Git中的AutoCRLF与SafeCRLF换行符问题
IDE对整个项目文件,批量转换换行符(CRLF LF)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个报错是因为不同的操作系统使用不同的换行符。在 Windows 中,每的结尾是由两个字组成的:一个回车(Carriage Return)和一个换行符(Line Feed),简称 CRLF。而在 Unix/Linux 和 macOS 中,每的结尾只有一个换行符(Line Feed),简称 LF。 当你在 Windows 上使用 Git 时,Git 会默认将换行符转换CRLF,以便与 Windows 系统兼容。但是如果你将代码提交到 Linux 或 macOS 系统上,就会出现类似的警告。 要解决这个问题,可以在提交代码前将 Git 的 core.autocrlf 设置为 false。具体步骤如下: 1. 打开 Git Bash 终端。 2. 输入以下命令: ```bash git config --global core.autocrlf false ``` 这会将 Git 的 core.autocrlf 设置为 false,即禁止自动将换行符转换CRLF。 3. 提交代码时,Git 将保留原来的换行符,不会进转换。 另外,你也可以在设置中将 LF 转换CRLF,这样在 Windows 上就能正常显示换行符了。具体操作方法为: 1. 打开 Git Bash 终端。 2. 输入以下命令: ```bash git config --global core.autocrlf true ``` 这会将 Git 的 core.autocrlf 设置为 true,即将 LF 转换CRLF。 3. 提交代码时,Git 会自动将 LF 转换CRLF。 不过需要注意的是,你应该根据实际情况选择是否进转换。如果你的代码主要运在 Linux 或 macOS 系统上,建议将 core.autocrlf 设置为 false,以保留原有的换行符;如果你的代码主要运在 Windows 上,建议将 core.autocrlf 设置为 true,以便在 Windows 中正常显示换行符

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值