• git 的行结束符


    • CR (Carriage Return) 表示<回车>
    • LF (Line Feed) 表示<换行>

    1. 不同系统的行结束符

    系统名称行结束符意义释义git line endings选项
    DOS / Windows\r\nCRLF‘\r’是使光标移动到行首
    ’\n’是使光标下移一行
    Windows-style
    MacOS\rCRreturnAs-is
    UNIX / Linux\nLFnewlineUnix-style

    2. 安装git时的三个选项

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

    a. Checkout Windows-style,commit Unix-style line endings.(签出CRLF,提交签入是LF)

    b.Checkout as-is,commit Unix-style line endings.(签出CR,提交签入是LF)

    c.Checkout as-is,commit as-is line endings. (签出CR,提交签入是CR)
    这里面讲到了做两个操作(Checkout,Commit)的三种处理line endings的操作(Windows-style,Unix-style,As-is)。

    3. git软件的 line ending和操作系统的对应关系

    • CRLF->Windows-style

    • LF->Unix Style

    • CR->Mac Style

    4. 如何转换git的行尾结束符(line ending)

    • 签入和签出是针对代码管理工具来说的,签出是在本地获取最新代码,签入是将最新代码上传到代码管理工具中
    • 控制git的行尾结束符的是 core.autocrlf 的配置
    • core.autocrlf 的值有三个 true false inout,
      • true: 添加到git仓库时,将把所有CRLF行结尾都变成LF

        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.。

      • false:不会执行换行转换,按原样签入

        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。

      • input:添加到git仓库时,将会把CRLF转换成LF。当有人Checkout(签出)代码时还是lf方式。因此在window操作系统下,不要使用这个设置
    • core.autocrlf 三个值的直观变化
      1. true: x -> LF -> CRLF
      2. input: x -> LF -> LF
      3. false: x -> x -> x
        file to commit -> repository -> checked out file
        要提交的文件->存储库->签出的文件

    5. git 常用的配置命令

    • git config -l 查看已配置的内容
    • git config --global core.autocrlf true 修改 core.autocrlf 的值,需要在项目的根目录进行修改
  • 相关阅读:
    【每日一题】 ~ C 语言中全局变量、局部变量、静态全局变量、静态局部变量有什么区别?
    哪个版本的JVM最快?
    基于深度学习的多人步态识别系统(目前数据集大小124人,准确率96.5%)
    indiegogo众筹代理经验分享
    【库函数】Qt中Json的操作
    Cadence Allegro PCB设计88问解析(十九) 之 Allegro中文字大小设置
    四、二叉树-上(Binary tree)
    第四十章 构建数据库应用程序 - 绑定到属性
    解放双手推荐一款阿里开源的低代码工具,YYDS
    Mysql(存储引擎)
  • 原文地址:https://blog.csdn.net/weixin_44805161/article/details/133680726