【随笔】Git 高级篇 -- 整理提交记录(下)rebase -i(十六)

请添加图片描述

  • 💌 所属专栏:【Git】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩 🤩 🤩

请添加图片描述

文章目录

  • 前言
  • 一、Git 整理提交记录
      • 1、介绍
      • 2、示范
        • (1)git rebase -i
      • 3、实战
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第十六篇文章;
  这是今天学习到Git 高级篇 – 整理提交记录 💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、Git 整理提交记录

  这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的讲解了Git 撤销变更的用法,在实际开发过程中也要学会整理提交记录,接下来就跟着学习Git 的整理提交记录(下)吧。话不多说,让我们原文再续,书接上回吧。

在这里插入图片描述

1、介绍

  当你知道你所需要的提交记录(并且还知道这些提交记录的哈希值)时, 用 cherry-pick 再好不过了 —— 没有比这更简单的方式了。
  但是如果你不清楚你想要的提交记录的哈希值呢? 幸好 Git 帮你想到了这一点, 我们可以利用交互式的 rebase —— 如果你想从一系列的提交记录中找到想要的记录, 这就是最好的方法了

2、示范

(1)git rebase -i

  交互式 rebase 指的是使用带参数 --interactiverebase 命令, 简写为 -i

  如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。
  在实际使用时,所谓的 UI 窗口一般会在文本编辑器 —— 如 Vim —— 中打开一个文件。 考虑到课程的初衷,练习网址特意弄了一个对话框来模拟这些操作(不愧是大佬)。

  当 rebase UI界面打开时, 你能做3件事:

  • 调整提交记录的顺序(通过鼠标拖放来完成);
  • 删除你不想要的提交(通过切换 pick 的状态来完成,关闭就意味着你不想要这个提交记录);
  • 合并提交。 遗憾的是由于某种逻辑的原因,该练习网址不支持此功能,因此不会详细介绍这个操作。简而言之,它允许你把多个提交记录合并成一个;

  接下来咱们看个实例

git rebase -i HEAD~4

请添加图片描述

  这里通过UI调整了提交记录顺序,结果如下图所示:

请添加图片描述

  要通过本关, 做一次交互式的 rebase,整理成目标窗口中的提交顺序。 记住,你随时都可以用 undoreset 修正错误,这是不会记入步数的(通关提示)。

3、实战

  从前面了解到具体的实现的步骤,就可以开始实战啦。这里先给大家说一下这个练习网站的一些使用技巧,

  • help 指令

  执行这个命令后就会有个帮助信息的弹窗。
在这里插入图片描述

  • levels 指令

  执行完这个命令之后就能看到关卡目录了。

在这里插入图片描述

  • 目标

在这里插入图片描述

  • 开始结构

在这里插入图片描述

  • Step 1、交互式的 rebase

  从目标可以知道,由于 main 分支只要 C3 C4 C7 提交,其他提交不想合并进去,就可以使用 cherry-pick 将需要提交合并到 main 分支中;

git rebase -i overHere
git rebase -i HEAD~4

  这里我们可以先进行误操作,比如把 C2 C3 C4 进行删除,从而得到新的分支;运行结果如下图所示:

在这里插入图片描述
  这里可以看到选中的分支已经被删除了。

请添加图片描述
  然后我们就可以用 undo 或者 reset 命令来进行恢复。这里以 reset 为例,undo 的话可以让各位看客尝试一下。

git reset C5

  运行结果如下图所示:

在这里插入图片描述
  Git中的 undoreset 都是用来撤销之前的更改的,但它们实现的方式不同。undo 是一个命令,它可以用来撤销最近的提交或操作。它主要移动 HEAD 指针和分支指针,从而回退到之前的提交状态。使用 undo 会丢失之前的提交历史,所以在使用该命令之前需要谨慎考虑。
  git reset也是一个命令,它可以用来撤销之前的提交。与 undo 不同的是,git reset 通过把分支记录回退几个提交记录来实现撤销改动,原来指向的提交记录就跟从来没有提交过一样。所做的变更还在,但是处于未加入暂存区状态。
  最后,按着目标进行操作即可通过啦

请添加图片描述

  达成目标之后就会有成功的提示。

在这里插入图片描述


总结

  感谢观看,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

在这里插入图片描述

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🌼 【鸿蒙系统】
  • 👑 【Python脚本笔记】
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!

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

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

相关文章

在mapviz中显示遥感地图瓦片

文章目录 前言安装获取第一帧的经纬度修改配置并运行节点添加展示申请天地图地图影像瓦片接口最终效果Q&&AQ: Failed to load file: /home/greenfield/.mapviz_config前言 在mapviz中加载地图瓦片,可以用于目视多传感器融合定位结果的好坏。 安装 mkdir -p ~/mapvi…

如何在Windows通过固定tcp公网地址ssh远程访问本地Kali Linux

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 本文主要介绍如何在Kali系统编辑SSH配置文件并结合cpolar内网穿透软件,实现公网环境ssh远程连接本地kali系统。 1. 启…

操作系统③ —— 文件管理

前言 操作系统对文件管理中需要对磁盘块进行管理。这其中包含对空闲磁盘块和非空闲磁盘块的管理 对空闲磁盘块的管理涉及文件存储空间的管理。对非空闲磁盘块的管理涉及文件的物理结构/文件的分配方式。 1. 文件存储空间管理 1.1 存储空间的划分与初始化 存储空间的划分&a…

【Linux学习】初识Linux指令(一)

文章目录 1.指令操作与图形化界面操作1.什么是指令操作,什么是图形化界面操作? 2.Linux下基本指令1.Linux下的复制粘贴2.Linux两个who命令3.补充知识4.pwd指令5. ls 指令6.cd 指令1.目录树2.相对路径与绝对路劲3.常用cd指令 7.tree指令8. touch指令9.sta…

需求调研和程序员有关系吗?

很多程序员可能都觉得,需求调研是产品经理或者需求分析师的事情,我只需要负责拿到写到的需求规格说明书来开发就好了,为什么要参与需求调研。但结合笔者从业经历来说,程序员其实应该在一定程度上参与到需求调研中,无论…

华为OD机试 - 火星文计算2(Java JS Python C C++)

须知 哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 文章目录 须知题目描述输入描述输出描述解题思路:题目描述 已知火星人使用的运算符为#、$,其与地球人的等价公式如下: x#y = 4x+3y+2 xKaTeX parse error: Expected EOF, got …

CST软件中变更求解器和宏的使用技巧【操作教程】

变更求解器 变更CST MWS中的Solver! Home > Simulation > Setup Solver CST Microwave Studio (CST MWS)总共有六个Solver。用户根据仿真目的和应用方向选择合适的Solver,才可以快速获得准确的结果。变更或选择Solver时,在Setup Sol…

SpringBoot项目整合ACTable实现实体类快速生产数据库表

1.安装 ACTable依赖 <dependency> <groupId>com.gitee.sunchenbin.mybatis.actable</groupId> <artifactId>mybatis-enhance-actable</artifactId> <version>1.5.0.RELEASE</version> </dependency> 使用mybatis…

【LAMMPS学习】八、基础知识(1.4)多副本模拟

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

30系列显卡安装 pytorch 1.7.1 环境

1.安装torch python的版本为3.8 pip install torch1.7.1cu110 torchvision0.8.2cu110 torchaudio0.7.2 -f https://download.pytorch.org/whl/torch_stable.html 2.安装依赖库 scipy1.7.1 -i https://pypi.tuna.tsinghua.edu.cn/simplenumpy1.21.2 -i https://pypi.tuna.ts…

FFMPEG推流到RTMP服务器命令

FFMPEG推流到RTMP服务器命令 1、将文件当作源推送到RTMP服务器 ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName 参数解释 -r 以本地帧频读数据&#xff0c;主要用于模拟捕获设备。表示ffmpeg将按照帧率发送数据&#xff0c;不会按照最高的效率发…

vue3项目学习记录<二>---Ant Design Vue组件之按需引入

一、自动按需引入插件安装 pnpm install unplugin-vue-components -D 二、配置插件 1、在vite.config.ts下添加代码&#xff0c;如下&#xff1a; import Component from unplugin-vue-components/vite import { AntDesignVueResolver } from unplugin-vue-components/reso…

每日一题 第九十一 期 洛谷 [蓝桥杯 2016 省 AB] 四平方和

[蓝桥杯 2016 省 AB] 四平方和 题目描述 四平方和定理&#xff0c;又称为拉格朗日定理&#xff1a; 每个正整数都可以表示为至多 4 4 4 个正整数的平方和。 如果把 0 0 0 包括进去&#xff0c;就正好可以表示为 4 4 4 个数的平方和。 比如&#xff1a; 5 0 2 0 2 1 …

Redis 高可用

redis高可用介绍 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提…

android平台下opencv的编译--包含扩展模块

由于项目需要使用安卓平台下opencv的扩展库&#xff0c;对于通用的opencv库&#xff0c; opencv官网提供了android的SDK 但未能提供扩展库&#xff0c;因此需要自己进行源码编译。本文记录android平台下opencv及其扩展库的交叉编译。 前提&#xff1a;主机已安装android-ndk交…

如何升级node.js版本

升级Node.js可以通过多种方式来完成&#xff0c;以下是四种常见的方法&#xff1a; 方法一&#xff1a;使用Node.js官方安装程序 访问Node.js的官方网站&#xff0c;下载对应你操作系统的最新版本安装程序。通常&#xff0c;你可以 https://nodejs.org/en/download 找到你需…

Java 中文官方教程 2022 版(二)

原文&#xff1a;docs.oracle.com/javase/tutorial/reallybigindex.html 运算符 原文&#xff1a;docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html 现在你已经学会了如何声明和初始化变量&#xff0c;你可能想知道如何对其进行操作。学习 Java 编程语言的运…

已知私钥和密文,如何用python进行RSA解密

要使用Python进行RSA解密,你可以使用pycryptodome库。下面是一个简单的示例,展示了如何使用已知的私钥和密文进行RSA解密: 首先,确保你已经安装了pycryptodome库。如果没有安装,你可以通过运行pip install pycryptodome来安装它。 然后,你可以使用以下代码进行RSA解密:…

玩美移动珠宝虚拟试戴解决方案引入glTF 2.0格式支持

领先的AIAR美妆和时尚科技解决方案提供商&#xff0c;以及"美丽AI"解决方案开发商 — 玩美移动于今日宣布&#xff0c;其AI珠宝虚拟试戴解决方案升级版本&#xff0c;性能得以显著提升。通过此次更新&#xff0c;玩美移动系统现可支持glTF 2.0&#xff08;图形库传输…

启明智显技术分享|ESP32-C3助力Model 3C芯片86盒彩屏开发板实现3MB波特率OTA程序升级和单独图片升级

在物联网快速发展的今天&#xff0c;彩屏显示作为人机交互的重要一环&#xff0c;其显示效果和升级便利性成为了衡量产品竞争力的关键指标。而Model 3C(以下简称M3C芯片&#xff09;与ESP32-C3的结合&#xff0c;无疑为物联网彩屏领域应用奠定了坚实的基石。 M3C芯片 是启明智…