Git warning: LF will be replaced by CRLF in XXX

1. 问题描述

在git add . 的时候出现如下Warning:

警告:待add的文件(App.vue, main.js...)中的LF将会使用CRLF替换,但工作区中的文件仍然使用原有的结束符。

( LF与CRLF都是结束符,文末有详细说明 )


2. 原因简介

出现上述警告的原因可能是:

①你使用了到别人的开源代码,该代码开发于非Windows环境

②与你协同开发的同事A使用非Windows系统提交代码

③Git在Windows环境下默认设置core.autocrlf为true

如下是core.autocrlf可选值及其作用:

简单翻译:

true当签出文本文件时Git自动将其LF换成CRLF,在提交时再自动换回LF;在Windows环境跨平台协同开发时推荐使用此值
input签出文件时不转换,提交文本文件时将CRLF转换成LF;在Unix环境跨平台协同开发时推荐使用此值
false签出/提交代码时都不会做任何转换操作;单一Windows环境下开发时推荐此值

3. 解决方法

git config core.autocrlf false

git config core.autocrlf input

git config core.autocrlf     // ==> true

//上述修改仅对当前Git仓库生效, 如需全局可添加 --global 参数

// Bonus time

不同系统换行符的不同表示:

系统换行符全称
Linux/UnixLFLineFeed(换行)
MacCRCarriageReturn(回车)
WindowsCRLFCarriageReturn+LineFeed(回车+换行)

 

  • 0
    点赞
  • 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、付费专栏及课程。

余额充值