Git之2.29版本重要特性及用法实例(六十二)

news2024/9/23 3:25:07

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者.

新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.介绍
    • 🌻3.代码实例
      • 🐓3. 1. git restore 的 --source 选项改进
      • 🐓3. 2. git switch 的 --orphan 选项
      • 🐓3. 3. git log 的 --filter 选项
      • 🐓3. 4. git status 的改进
      • 🐓3. 5. git fetch 的 --depth 选项改进
      • 🐓3. 6. git commit 的 --only 选项
      • 🐓3. 7. git rebase 的 --no-ff 选项
      • 🐓3. 8. git merge 的 --rerere 支持
      • 🐓3. 9. git stash 的 --keep-index 选项

🌻1.前言

本篇目的:Git之2.29版本重要特性及用法实例

🌻2.介绍

Git 2.29 版本于 2020 年 10 月发布,包含了一系列重要的新特性和改进,旨在提升版本控制的效率、增强功能的灵活性,并改善用户体验。以下是 Git 2.29 版本的一些关键特性:

1. 改进的 git switchgit restore 功能
Git 2.29 版本进一步优化了 git switchgit restore 命令,增强了用户在处理分支和恢复文件时的体验。例如,git switch 命令现在支持更多选项来创建和切换分支,使得分支管理更加直观和灵活。git restore 也得到了改进,提供了更精细的文件恢复控制,特别是在从不同来源恢复文件时更加便捷。

2. 引入 --auto 选项的 git stash
Git 2.29 引入了 git stash 命令的新 --auto 选项,简化了对暂存区和工作目录中未提交变更的管理。通过这个选项,用户可以更方便地在进行其他操作之前自动保存当前的工作状态,减少了手动操作的复杂性。

3. 增强的 git loggit diff 功能
Git 2.29 对 git loggit diff 命令进行了重要改进。git log 新增了 --format=oneline 选项,允许用户以单行格式输出提交历史,使得查看和分析提交记录更加简洁。git diff 命令则改进了显示和对比的功能,特别是在处理复杂变更时,显示效果更为清晰。

4. 性能优化和稳定性提升
Git 2.29 对多个核心命令进行了性能优化,特别是在处理大型代码库和复杂操作时的速度得到了提升。例如,git fetchgit push 的性能得到了显著改善,减少了操作时间。此版本还修复了一些潜在的稳定性问题,增强了系统在各种使用场景下的可靠性。

5. git worktree 的改进
git worktree 功能在 Git 2.29 中得到了增强,支持更加灵活的工作树管理。新增的选项和功能允许用户在多个工作树之间更高效地切换和管理,提高了多任务开发的灵活性和效率。

6. 改进的 git submodule 支持
Git 2.29 对子模块的支持进行了改进,特别是在处理复杂的子模块更新时。新增的选项和功能使得子模块的管理更加高效,特别是在处理包含多个子模块的大型项目时,操作变得更加简便。

7. 改进的 git rebasegit merge
Git 2.29 对 git rebasegit merge 命令进行了优化,改进了冲突处理和合并策略。新的算法和选项使得在处理复杂的合并和变更时,Git 能够更好地处理冲突和合并操作,减少了手动干预的需求。

8. 文档和帮助系统的增强
Git 2.29 对文档和帮助系统进行了更新,提供了更详细的命令说明和使用示例。改进的文档帮助用户更好地理解和掌握 Git 的功能,特别是在学习和使用新命令时,提供了更全面的支持和指导。

🌻3.代码实例

🐓3. 1. git restore 的 --source 选项改进

  • 功能描述: Git 2.29 增强了 git restore 命令的 --source 选项,允许用户指定不同的提交或分支作为恢复的来源。
  • 文件例子:
    # 从指定的提交恢复文件
    git restore --source=abc1234 path/to/file.txt
    
    # 从指定的分支恢复文件
    git restore --source=feature-branch path/to/file.txt
    

🐓3. 2. git switch 的 --orphan 选项

  • 功能描述: Git 2.29 引入了 --orphan 选项,使得用户可以创建一个没有任何历史记录的新分支。
  • 文件例子:
    # 创建一个没有历史记录的新分支
    git switch --orphan new-branch
    

🐓3. 3. git log 的 --filter 选项

  • 功能描述: Git 2.29 增强了 git log--filter 选项,允许用户对日志输出进行更细粒度的过滤。
  • 文件例子:
    # 过滤出指定路径下的提交日志
    git log --filter=path/to/directory
    
    # 过滤出特定作者的提交日志
    git log --filter=author=author@example.com
    

🐓3. 4. git status 的改进

  • 功能描述: Git 2.29 改进了 git status 的输出,提供了更清晰的状态信息和更友好的用户界面。
  • 文件例子:
    # 查看工作目录和暂存区的状态
    git status
    
    # 查看状态的简洁版本
    git status --short
    

🐓3. 5. git fetch 的 --depth 选项改进

  • 功能描述: Git 2.29 改进了 git fetch--depth 选项,允许进行更深度的浅克隆操作。
  • 文件例子:
    # 执行深度为 50 的浅克隆
    git fetch --depth=50
    

🐓3. 6. git commit 的 --only 选项

  • 功能描述: Git 2.29 引入了 --only 选项,使得用户可以仅提交暂存区中的某些文件,而不提交其他更改。
  • 文件例子:
    # 提交暂存区中的特定文件
    git commit --only path/to/file.txt -m "Commit message"
    

🐓3. 7. git rebase 的 --no-ff 选项

  • 功能描述: Git 2.29 引入了 --no-ff 选项,用于强制在变基操作时创建合并提交。
  • 文件例子:
    # 执行变基操作时强制创建合并提交
    git rebase --no-ff feature-branch
    

🐓3. 8. git merge 的 --rerere 支持

  • 功能描述: Git 2.29 增强了 git merge 命令,支持在合并过程中使用 rerere(“reuse recorded resolution”)功能来自动解决冲突。
  • 文件例子:
    # 启用 `rerere` 功能并执行合并
    git config --global rerere.enabled true
    git merge feature-branch
    

🐓3. 9. git stash 的 --keep-index 选项

  • 功能描述: Git 2.29 引入了 --keep-index 选项,允许在保存当前更改时保留暂存区的内容。
  • 文件例子:
    # 保存当前更改,包括未跟踪的文件
    git stash push --keep-index -m "Work in progress"
    
    # 恢复暂存记录
    git stash pop
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亿图机床采集数据

这个数控系统的英文名是HUST,在台湾知名度还可以,但大陆这边我做这么多年项目也只接触过屈指可数的几次,可见市场占有率并不大。下面是一些介绍: 台灣億圖 HUST CNC 是一個充滿活力的公司,我們經營的目標是提供能滿足客戶之優良產品,以及優質的服務。我們的期望是使 HUS…

学习笔记--Docker

安装 1.卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 2.配置Docker的yum库 首先要安…

七,Spring Boot 当中的 yaml 语法使用

七,Spring Boot 当中的 yaml 语法使用 文章目录 七,Spring Boot 当中的 yaml 语法使用1. yaml 的介绍2. yaml 基本语法3. yaml 数据类型4. 学习测试的准备工作4.1 yaml 字面量4.2 yaml 数组4.3 yaml 对象 5. yaml 使用细节和注意事项6. 总结:…

产业园区智慧招商解决方案

1. 项目背景与挑战 2023年,产业园区在智慧招商领域面临诸多挑战,包括传统推广方式、信息分散、跨部门协作障碍、缺乏主动服务、服务流程改进困难以及数据档案管理不善。 2. 方案思路 解决方案围绕“一套秘籍”和“一套流程”,服务三方角色…

OpenAI即将推出自然语音功能

🦉 AI新闻 🚀 OpenAI即将推出自然语音功能 摘要:测试博客testingcatalog揭示OpenAI正在通过逆向工程ChatGPT应用,计划增加更自然的语音朗读功能。未来可能推出8种新语音,具有独特代号,能表达动物叫声等非…

(苍穹外卖)day05 店铺营业状态设置 功能测试

目录 一.Redis入门 Redis简介 二.Redis数据类型 三.Redis常用命令 字符串操作命令 哈希操作命令 列表操作命令 集合操作命令 有序集合操作命令 通用命令 四.在java中操作Redis Redis的java客户端 ​编辑 五.店铺营业状态设置 代码开发 Redis---是一个数据库&…

浅谈信创浪潮下,职业院校人才培养有哪些新思路

一、信创产业发展背景 1.1 国家战略意义 信创产业,即信息技术应用创新产业,是国家战略发展的关键方向。近年来,在全球化的竞争和合作背景下,中国高度重视信息技术的自主创新能力,通过政策扶持、资金投入和市场引导等…

【数据结构】—— 栈与队列

目录 前言一、栈1.1 堆栈原理1.2 栈的实现 二、队列2.1 队列的概念2.2 队列结构2.2.1 顺序队列2.2.2 链队 2.3 队列的实现 三、堆与栈的区别3.1 内存中的堆与栈3.2 数据结构中的堆与栈 结语 前言 在单片机数据处理的时候,如果在中断里添加太多函数,可能会…

使用mobaxterm连接linux出现连接中断问题

1.问题描述 使用mobaxterm在连接到远程服务器时,如果隔一段时间不进行操作的话,会出现中断连接的现象。 2.解决 为了增强Linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。将以下…

netty编程之基于websocket实现聊天功能

写在前面 源码 。 本文看下netty如何通过websocket实现聊天功能。 类似于实现http server,netty实现websocket也很简单,同样使用对应的编码器和解码器就行了,相关的有HttpServerCodec,HttpObjectAggregator,ChunkedWriteHandler。 1:编码 …

已解决:VS2022启动闪退,错误模块名称: clr.dll,版本: 4.8.9261.0,时间戳: 0x667a1925的问题

本问题已得到解决,请看以下小结: 关于《VS2022启动闪退》的解决方案 记录备注报错时间2024年报错版本VS2022报错复现下载某款VPN软件后,打开VS2022闪退,事件查看器输出如下报错描述错误应用程序名称: devenv.exe,版本:…

DAY 2 - 3 : 线性表—顺序存储

线性表—顺序表 问题引入&#xff1a; 线性表 定义 若干数据元素的一个线性序列。 表示 L (D,R) (即线性表L包含数据元素集合D和关系集合R&#xff09; D{ ai | ai∈datatype ,i0,1,2...n-1 ,n≥0} R{ <ai,ai1> | ai,ai1∈D, 0 ≤ i ≤ n - 2} < ai,ai1 >在这里称…

数据结构代码集训day14(适合考研、自学、期末和专升本)

题目均来自b站up&#xff1a;白话拆解数据结构&#xff01; 今日题目如下&#xff1a;&#xff08;1&#xff09;试写一个算法判断给定字符序列是否是回文。 &#xff08;2&#xff09;给定一个算法判断输入的表达式中括号是否匹配。假设只有花、中、尖三种括号。 题1 回文序列…

学习笔记 | 一文搞懂MySQL体系架构!!!(day22)

本文章的内容会在后面文章中慢慢讲解&#xff0c;该文章主要给各位博友zaipin提供学习思路&#xff0c;也希望大家在评论区发言表述&#xff0c;觉得文章有不足指出也可点评&#xff0c;希望大家多多支持&#xff01;&#xff01;&#xff01; 目录 一、MySQL 1.1 数据库概述 …

【项目日记】高并发内存池---实现页缓存

放纵自己的欲望是最大的祸害&#xff1b; 谈论别人的隐私是最大的罪恶&#xff1b; 不知自己过失是最大的病痛。 --- 亚里士多德 --- 高并发内存池---实现页缓存 1 页缓存整体设计思路2 框架搭建3 NewSpan函数4 请求Span联动 1 页缓存整体设计思路 首先我们来看页缓存的设…

windows手工杀毒-寻找可疑进程之进程名称

上篇回顾&#xff1a;windows手工杀毒-寻找可疑进程之进程图标-CSDN博客 上篇中我们简单介绍了什么是电脑病毒&#xff0c;也介绍了一种发现可疑进程的方法即根据进程图标确认是否是病毒&#xff0c;这种方法存在的理论基础是&#xff0c;通过图标可以很容易在电脑上找…

遥控器新手操作指南!!!

一、准备工作 检查电量&#xff1a;确保无人机和遥控器的电池电量充足&#xff0c;以避免在飞行过程中因电量不足而导致意外。 安装与连接&#xff1a;确保无人机的螺旋桨安装正确且牢固&#xff0c;同时检查无人机存储卡是否插入&#xff0c;以及遥控器与无人机之间的连接是…

论文笔记:2023顶会SIGIR - Strategy-aware Bundle Recommender System

论文笔记&#xff1a;2023顶会SIGIR - Strategy-aware Bundle Recommender System

【位运算】--- 初阶题目赏析

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 算法Journey 根据上一篇位运算的总结&#xff0c;我们来体会几道初阶题目。 &#x1f3e0; 判定字符是否唯一 &#x1f4cc; 题目解析 判定字符是否唯一…

通义千问AI PPT初体验:一句话、万字文档、长文本一键生成PPT!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…