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

本文详细介绍了Git中的autocrlf和safecrlf配置,包括它们的作用、可设置值及如何查看与设置。autocrlf用于自动转换换行符,而safecrlf则检查文件中是否存在不安全的换行符。通常建议两者都设置为true,以确保文件在不同系统间的兼容性。当遇到文件行尾符不一致的问题时,可以使用Notepad++或PHPStorm进行批量转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个相关的设置: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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值