warning: LF will be replaced by CRLF in package.json. The file will have its original line endings i

warning: LF will be replaced by CRLF in package.json. The file will have its original line endings in your working directory


The file will have its original line endings in your working directory)

问题描述

在使用git命令 git add . 时,出现以下警告:

warning: LF will be replaced by CRLF in package.json.
The file will have its original line endings in your working directory

原因分析

这是由于编辑器的不同或者Windows 程序员在跨平台项目中的文件行尾加入了回车换行符(比如说你在window 编辑器中使用LF 作为换行符,在提交仓库时就会出现这种错误)。

下面罗列一下三大主流操作系统的换行符:

  1. Uinx/Linux 采用换行符LF 表示下一行(LF:LineFeed,中文意思是换行);

  2. Dos 和Windows 采用CRLF (回车+换行)表示下一行(CRLF:CarriageReturn LineFeed,中文意思是回车换行);

  3. Mac OS采用回车CR表示下一行(CR:CarriageReturn,中文意思是回车)。

解决方法

可以通过 git config [--global] core.autocrlf true | false | input 命令来设置Git 对待换行符的方式(如果只在Windows环境开发或只在linux环境开发,不存在跨平台问题,设置为false 即可)。

  • true

    Git会可以在你add(提交)代码时自动地把换行结束符CRLF转换成 LF,而在checkout (签出)代码时把LF转换成CRLF。

    如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF

  • false

    换行符不做任何改变,文本文件保持其原来的样子。

  • input

    add 时Git会把CRLF转换为LF,而check时仍旧为LF,所以Windows 操作系统不建议设置此值。

可以通过 git config core.autocrlf 命令来显示当前你的Git 中对待换行符的方式

注意:

  • –global 选项表示全局设置,如果只是设置当前工作目录,可以不用加

  • 当core autocrlf为true时,有一个需要慎重的地方:当你上传一个二进制文件,Git可能会将二进制文件误以为是文本文件,从而也会修改你的二进制文件,从而产生隐患。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值