CRLF和LF区别

article/2025/10/8 10:34:45

目录:

文章目录

  • 1、什么是CRLF和LF
  • 2、为什么要探究CRLF和LF
  • 3、三种方式处理的不同
  • 4、在Git中如何转换?
  • 参考文献

1、什么是CRLF和LF

image

CRLF 是carriagereturnline feed的缩写。中文意思是回车换行。

LF是line feed的缩写,中文意思是换行。

2、为什么要探究CRLF和LF

在学习git软件,安装git到configuring the lien ending conversion时,有三个选项。

a. Checkout Windows-style,commit Unix-style line endings.

b.Checkout as-is,commit Unix-style line endings.

c.Checkout as-is,commit as-is line endings.

这里面讲到了做两个操作(Checkout,Commit)的三种处理line endings的操作(Windows-style,Unix-style,As-is)。

为什么会出现这三种处理line endings(行尾结束符)呢?在Git的帮助页面给出了很好的解释。

Reference From:https://help.github.com/articles/dealing-with-line-endings

If you’re using Git to collaborate with others on GitHub, ensure that Git isproperly configured to handle line endings.

Every time you press return on your keyboard you’re actuallyinserting an invisible character called aline ending. Historically, differentoperating systems have handled line endings differently.

When you view changes in a file, Git handles line endings in its own way.Since you’re collaborating on projects with Git and GitHub, Git mightproduce unexpected results if, for example, you’re working on a Windows machine,and your collaborator has made a change in OS X.

意思很好理解,就不翻译了。重视由于历史的原因,各种不同的操作系统在处理行尾结束符采取了不同的处理方法。而Git和GitHub

3、三种方式处理的不同

CRLF->Windows-style

LF->Unix Style

CR->Mac Style

CRLF表示句尾使用回车换行两个字符(即我们常在Windows编程时使用"\r\n"换行)

LF表示表示句尾,只使用换行.

CR表示只使用回车.

4、在Git中如何转换?

在Git通过下面的命令配置

$git config --global core.autocrlf true
# Configure Git on Windows to properly handle line endings
# Configure Git on Windows to properly handle line endings

解释:core.autocrlf是git中负责处理line endings的变量,可以设置三个值–true,inout,false.

设置成三个值会有什么效果呢?

If core.autocrlf is set to true, that means that any time you add a file to the git repo that git thinks is a text file, it will turn all CRLF line endings to just LF before it stores it in the commit.。

设置为true,添加文件到git仓库时,git将其视为文本文件。他将把crlf变成lf。【2】

If core.autocrlf is set to false, no line-ending conversion is ever performed, so text files are checked in as-is. This usually works ok。【2】

设置为false时,line-endings将不做转换操作。文本文件保持原来的样子。

设置为input时,添加文件git仓库石,git把crlf编程lf。当有人Check代码时还是lf方式。因此在window操作系统下,不要使用这个设置。

这是参考文献2给的解释希望能帮助大家。

Yet another way to show howautocrlf works

  1. true: x -> LF -> CRLF
  2. input: x -> LF -> LF
  3. false: x -> x -> x
    where x is either CRLF (windows-style) or LF (unix-style) and arrows stand for

file to commit -> repository -> checked out file

更多:

更为复杂的配置命令见网站:https://www.kernel.org/pub/software/scm/git/docs/git-config.html

关于LF和CRLF讨论见:http://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf

You can also provide a special–global flag, which makes Git usethe same settings for line endings acrossevery local Git repository on your computer.

参考文献

【1】https://help.github.com/articles/dealing-with-line-endings

【2】http://stackoverflow.com/questions/1967370/git-replacing-lf-with-crlf


http://chatgpt.dhexx.cn/article/jaTenjOe.shtml

相关文章

LFR benchmark 操作步骤

先奉上资源 链接:https://pan.baidu.com/s/1Mm_UwUAhM0ofKXcFbti0YA 提取码:hvp8 复制这段内容后打开百度网盘手机App,操作更方便哦运行操作 在解压后的文件下找到 /benchmark/Debug 文件夹, 在该文件下运行命令行程序&#x…

西克推出LBR/LFR长距离非接触物位/液位传感器

西克推出LBR/LFR长距离非接触物位/液位传感器 在日常的生产过程中,我们可能会遇到一些严苛的工作环境,例如上百米高的筒仓,诸多粉尘的罐内环境,亦或是充满蒸汽或附着物的生产环境;对料位的监控显得更加重要和困难。传…

CRLF和LF

目录: 什么是CRLF和LF为什么要探究CRLF和LF三种方式处理的不同更多参考文献 👁 关注微信公众号:非典型理科男 回复:架构设计 获取 架构设计经典著作 1、什么是CRLF和LF CRLF 是carriagereturnline feed的缩写。中文意思是回车换…

使用Arduino Uno构建一个巡线机器人

使用Arduino Uno构建一个巡线机器人 原文 MX 巡线机器人(LFR: line follower robot)是一种简单的自主引导机器人,它遵循在地面上绘制的线来检测白色表面上的暗线或黑暗表面上的白线。在本教程中,使用 Arduino Uno 和一些易于访问…

网络科学—Windows下生成LFR人工网络数据集的步骤

目录 1 引言 2 步骤 2.1 下载LFR程序包 2.2 解压LFR程序包 2.3 进入cmd程序 2.4 生成LFR网络 1 引言 很多做网络科学研究的学者研究生等都需要经常用到人工网络的数据,最为常用的就是LFR人工网络,下面详细描述了LFR网络的生成方式 2 步骤 2.1 下…

查看gcc编译器版本

我们在windows下DS5中编译时使用GCC交叉编译器,但是在ubuntu时也需要使用GCC编译器,这时最好时保持版本一致,所以就需要查看windows下版本,如下图,在按装的文件夹中找到对应得文件即可。 转载于:https://www.cnblogs.c…

linux下gcc版本切换

今天在linux环境下编译c文件的时候发现库函数居然找不到路径,查了好久都没有找到是什么问题,最后想到的解决办法:把gcc版本切回到linux自带版本 1.查看linux下已安装gcc版本 ls /usr/bin/gcc* 结果如下: 2.手动设置候选版本优先…

linux中gcc版本升级

环境 Linux version 3.10.0-1160.el7.x86_64 (mockbuildkbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020 目前gcc版本4.8.5 正文 所需资源可以在gnu安装包下载_开源镜像站-阿里云下载 包括&#x…

Linux升级gcc到最新版本--gcc-9.1.0

Linux升级gcc到最新版本–gcc-9.1.0详细步骤 一、下载gcc最新的源码包–>wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz 二、解压缩–>tar -xzvf gcc-9.1.0.tar.gz 三、进入解压缩后目录–>cd gcc-9.1.0 四、运行download_prerequisites脚本&#xff0…

所有Gcc版本对C和C++的支持情况(超详细版本)

在最近接触的新的项目,由于技术使用为C98风格实现,遇到一个问题需要加锁解决,本能反应用lock_guradmutex解决,但是没设置CFLAGS为C11标准,不确定当前gcc编译器默认支持的C和C标准是什么,索性就一把都研究透…

Linux 安装指定版本GCC方法

今天来记录一下如何安装指定版本gcc,因为在linux中有些软件需要指定gcc的版本,所以记录一下还是很有必要的。好了,直接上安装步骤。 第一步:安装默认版本gcc 首先我们需要安装一个gcc,我们使用yum命令来进行安装。 $ y…

linux升级gcc版本详细教程

0.前言 一般linux操作系统默认的gcc版本都比较低,例如centos7系统默认的gcc版本为4.8.5。gcc是从4.7版本开始支持C11的,4.8版本对C11新特性的编译支持还不够完善,因此如果需要更好的体验C11以及以上版本的新特性,需要升级gcc到一个…

ubuntu20.04查看gcc版本以及各版本切换

1、查看自己当前的gcc版本 gcc -v通过下图的最后一行可以得到,这里电脑当前gcc的版本是 7.5.0 查看Eigen版本: pkg-config --modversion eigen32.安装另一个版本gcc 这里安装的是gcc-9: sudo add-apt-repository ppa:ubuntu-toolchain-r…

最新:斐讯K3千兆无线路由器刷官改版固件的详细图文教程

2018年1月31日更新:本教程已经同步增添Phitools 作者最新修改的固件以便支持 K3_V21.6.12.66 版刷机。 如果喜欢折腾的话可以刷LEDE固件,刷机方法看:[图文教程] 斐讯K3金/银色版路由器免拆机通用刷机教程 此前蓝点网已经发布了借助恩山论坛开…

斐讯k2刷不死breed K2 22.5.11.14

[k2] 斐讯K2 22.5.11.14 A5 原厂固件 刷breed刷官方固件定制版方法 这个是我刷机之前备份的,有用的拿去。 首先是刷breed,按照abccba94大神的终极方法刷入成功,参考【刷机必读】斐讯K2刷breed的安全方法及开源一键刷机脚本 终极的不行&…

用编程器免拆夹子刷斐讯K2 K2P解决难搞固件 刷BREED 无损原EEPROM

文章中放的几个地址都是思路来源,感谢各路大神原帖子的思路,因为我刷机时候没有拍照,只好借用各位大佬的图来说明步骤,我做一下整理会放出本篇刷机流程,很简单! K2 22.6.532.231软件版本已经无解&#xff…

k2p—b1版本刷固件遇到的问题

因为之前刷过梅林华硕的固件,但是今天手贱,点了个升级,然后路由器就gg了,当时想再刷一遍就好了,但是好久没刷过了,难免有些生疏,看完教程就上手了,但是发现固件一直传不上去&#xf…

msdn i tell you网址及下载系统详细步骤

一、msdn i tell you网址及下载系统详细步骤 msdn i tell you地址: 2.进去网站以后会让你免费注册以一个账号,然后用邮箱方式让你激活。 3.注册完以后,你就可以正常下载了。

Travel English

Tong lau or Chinese tenement building - 唐楼