让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

这篇具有很好参考价值的文章主要介绍了让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是小饼鹅,让我们一起学习吧


让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

 

背景

如果我们正在应用的windows系统进行开发工作的话,我们很有可能在对代码进行git add 的时候会看到以下warning: LF will be replaced by CRLF the next time Git touched it

让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

很多人可能并不会特别在意,因为它貌似并没有对我们产生什么影响,可是真的是么?

LF和CRLF

在之前用mac当做开发主力的时候,我并没有对此有过什么了解。所以首先,这两个东西是什么?

当我们进行代码开发的时候,每一行都有它的末尾,在系统里,都会给他们加上一个行尾的标识。所以我们可以说,LF和CRLF这些就是被认为是不同的行尾字符。

那具体他们是如何表现的呢

LF

全名Carriage Returns ,主要用在unix系统,他将光标向下移动到新行,而不返回到该行的开头,字符表现是 \n

CRLF

全名 Carriage Return and Line Feed , 主要用在 windows和其他非unix的系统,它将光标移动到新行和同一行的开头。字符表现是\r\n

可能会有的问题

正如我们开头看到的警告,CRLF 和 LF之间会进行替换,但是实际上对我们的代码并没有什么影响

目前仅仅对我来说的话,这个问题给我最大的影响是,假如我们需要拉取一个测试环境的代码在本地解决冲突,你会发现我们的工作区更改中,会有上千个文件被更改了,而实际上,我们并没有对代码进行更改,只是LF和CRLF之间的变动而已。

所以结果是,当我们commit的时候,我们需要去commit几千个文件的改动,你如果说你的电脑配置十分强劲的话那还好,不然首先内存和时间都会让你感觉很烦

怎么解决

那如果我们想解决这个问题 我们如何去解决呢?有下边几种方法,都以我用的vscode编辑器为例

1

当我们打开文件的时候,我们看向右下角

让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

这里点击LF就可以在顶部打开切换的位置

让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

但这个方法只能改动当前文件的,所以不是很推荐

2

另外的方法是打开vacode的配置

让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it

 

然后在我们的json之中加入这条配置

"files.eol": "\n"

它的作用就是更改行尾标识,至于为什么是 \n 可以看一下上边LF和CRLF的讲解哦

3

以上的配置可以解决大多数情况

但如果还是不行的话,可以执行一下这个,他的作用就是防止如果autocrlf什么时候被设置成了true

git config --global core.autocrlf false

4

还有一个针对一个项目级的方法

声明一个.gitattributes 文件 如果不知道这个文件的意义可以去了解一下~

然后加入此行

* text eol=lf

结尾

有了这么多方法 我们就再也不用担心,看到类似的问题不会解决了~ 另外打个小广告

我还有一个想法

最近看了张鑫旭大佬关于写作的小册,比较有触动。之前虽然也会去更新一些文章,但是动力不足完全随缘更新,也没有对此有过什么计划,所以有没有同学有兴趣一起保持周更文章,互相督促和讨论技术呢? 希望会是一个小群,每个人都能有着比较好的体验,如果感兴趣的话请留言或加v:17643537768文章来源地址https://www.toymoban.com/news/detail-483458.html

到了这里,关于让你搞懂怎么解决LF、CRLF问题LF will be replaced by CRLF the next time Git touched it的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git提交代码时出现: ‘LF will be replaced by CRLF the next time Git touches it‘

    windows平台进行 git add 时,控制台打印警告 1. Dos/Windows平台默认换行符:回车(CR)+换行(LF),即’rn’ 2. Mac/Linux平台默认换行符:换行(LF),即’n’  企业服务器一般都是Linux系统进行管理,所以会有替换换行符的需求 设置方法一: 适用于Windows系统,且一般为Windows默

    2024年04月25日
    浏览(53)
  • warning: in the working copy of ‘...‘, LF will be replaced by CRLF the next time Git touche

    执行git add .的时候出现的警告 解释: CR/LF是不同操作系统上使用的换行符: CR(CarriageReturn回车 \\\'r\\\' ):回到一行的开头,ASCII代码是13 LF(LineFeed换行\\\' n\\\' ):另起一行,ASCII代码是10 应用情况: Dos 和 Windows 平台: 使用回车(CR)和换行(LF)两个字符来结束一行,回车+换行

    2024年02月03日
    浏览(27)
  • 【Git】warning: in the working copy of ‘...‘, LF will be replaced by CRLF the next time Git touche

    执行git add .的时候出现的警告 解释: CR/LF是不同操作系统上使用的换行符: CR(CarriageReturn回车 \\\'r\\\' ):回到一行的开头,ASCII代码是13 LF(LineFeed换行\\\' n\\\' ):另起一行,ASCII代码是10 应用情况: Dos 和 Windows 平台: 使用回车(CR)和换行(LF)两个字符来结束一行,回车+换行

    2024年01月17日
    浏览(82)
  • git config --global core.autocrlf input (在检出代码时不自动转换行尾,在提交代码时自动将行尾转换为LF)CRLF will be replaced by LF

    我们一般希望远程仓库中的代码为LF,就用: git config --global core.autocrlf input 就ok了。 这是一个Git的配置命令,它的作用是告诉Git在检出代码时不要自动将行尾转换为CRLF(Windows风格的换行符),而是保留原来的LF(Unix风格的换行符)。 core.autocrlf input 的意思是告诉Git在检出代

    2024年02月09日
    浏览(36)
  • 报错-warning: in the working copy of ‘xxx.vue‘, LF will be replaced by CRLF the next time Git touc

    问题:在进行 git add时,出现 报错:warning: in the working copy of \\\'src/xxx.vue\\\', LF will be replaced by CRLF the next time Git touches it 翻译:警告:在 \\\'src/xxx.vue\\\' 的工作副本中,下次 Git 遇到 LF 时,LF 将被 CRLF 替换。 知识点: CR为回车符,LF为换行符。Windows结束一行用CRLF,Mac和Linux用LF。 co

    2024年02月08日
    浏览(33)
  • warning: in the working copy of ‘App.vue‘, LF will be replaced by CRLF the next time Git touches it

    git add . 一大串的warning warning: in the working copy of \\\'App.vue\\\', LF will be replaced by CRLF the next time Git touches it warning: in the working copy of \\\'pages.json\\\', LF will be replaced by CRLF the next time Git touches it warning: in the working copy of \\\'pages/cart/cart.vue\\\', LF will be replaced by CRLF the next time Git touches it warning: in the

    2024年02月14日
    浏览(32)
  • git 提交换行符问题:LF would be replaced by CRLF

    提交git 记录时,遇到问题 原因 : 是因为git换行符的导致Unix/Linux使用的是LF,Mac后期也采用了LF,但Windows一直使用CRLF 解决方案:禁止转换文件格式,其次允许提交换行符的文件 打开命令行,执行以上两个命令: 执行完后,切换回到git 工具,进行提交,这里是sourcetree, 从下图

    2024年02月06日
    浏览(25)
  • error Delete cr prettier/prettier报错,LF和CRLF冲突问题解决

    LF和CRLF冲突: 使用Windows系统进行开发时,时常一拉代码,就会出现大量的error Delete cr prettier/prettier报错,因为git在维护版本库的时候统一使用的是LF,这样就可以保证文件跨平台的时候保持一致,在Linux下默认的换行符也是LF,那就不存在什么问题,但是在Windows系统环境下拉

    2024年02月10日
    浏览(30)
  • VUE中eslint报错: Expected linebreaks to be ‘LF‘ but found ‘CRLF

    出现这个的原因 :windows 环境下, git 在我们 pull 代码的时候,会自动识别当前的系统环境。将原本的(linux/unix)换行改成对应系统的,在我们提交代码的时候又会转成远程系统环境的(Linux/unix),然后又装了 eslint,默认就是使用 LF,所以就会报这个错误 各种环境下换行符格

    2023年04月08日
    浏览(37)
  • 一文让你搞懂javascript如何实现继承

    一、本文想给你聊的东西包含一下几个方面:(仅限于es6之前的语法哈,因为es6里面class这用上了。。) 1.原型是啥?原型链是啥? 2.继承的通用概念。 3.Javascript实现继承的方式有哪些?   二、原型是啥?原型链是啥? 1.原型是函数本身的prototype属性。 首先js和java不

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包