Git - 什么是 CRLF 和 LF

是什么?

每次按键盘上的 回车 按键时,会插入一个称为行结束符的不可见字符。不同操作系统处理行结束符的方式不同。

CRLF:回车换行(carriage return/line feed)
LF:换行(line feed)
CR:回车(carriage return)

为什么?

因为不同操作系统对于行结束符的处理方式不同,所以当你在 Windows 系统上开发,而其他人在 Linux 或者 Mac 系统上开发时,会遇到换行符的问题。

怎么做?

不同系统的行结束符:

GitHub 处理行结束符的文档

Windows:CRLF
Unix:LF
Mac:CR

Git 中如何设置

1、在 Git 的安装步骤中,有一步的选项是:Configuring the line ending conversions,可以选择换行规则。

在这里插入图片描述
这里的三个选项对应下面 2 中三个设置项

2、通过全局配置:core.autocrlf,设置为 true 时,添加到 Git 仓库的文件都会自动由 CRLF 转为 LF,默认为 false。

git config --global core.autocrlf true

core.crlf 可设置三个值:

file to commit -> repostory -> checked out file

1、true:x -> LF -> CRLF
git config --global core.crlf true

Git 会在提交到仓库的时候,自动把行结束符 CRLF 转换成 LF,而在 checkout 代码时把 LF 转换成 CRLF。如果在 Windows 上开发,可以设置为 true,这样在仓库中是 LF,本地是 CRLF。

2、input:x -> LF -> LF
git config --global core.crlf input

如果使用 LF 作为行结束符,当一个以 CRLF 为行结束符的文件被引入时,会自动被转换为 LF 格式提交到仓库中。

3、false:x -> x -> x
git config --global core.crlf false

如果只在同一个平台上面开发,可以设置为 false,把回车符记录在仓库中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值