【随笔】Git 高级篇 -- 本地栈式提交 rebase | cherry-pick(十七)

news2025/2/28 17:10:38

请添加图片描述

  • 💌 所属专栏:【Git】

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

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

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

请添加图片描述

文章目录

  • 前言
  • 一、本地栈式提交
      • 1、介绍
      • 2、示范
        • (1)git rebase -i
        • (2)git cherry-pick
      • 3、实战
        • (1)第一种方法:rebase
        • (2)第二种方法:cherry-pick
  • 总结


前言

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


一、本地栈式提交

  这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的讲解了整理提交记录的用法,在实际开发过程中有时候提交会把一些调试语句也会上传上去,这让我们很困扰,接下来就让我们看看怎么解决。话不多说,让我们原文再续,书接上回吧。

在这里插入图片描述

1、介绍

  在开发实际过程中中经常会遇到的情况:我正在解决某个特别棘手的 Bug,为了便于调试而在代码中添加了一些调试命令并向控制台打印了一些信息。
  这些调试和打印语句都在它们各自的提交记录里。最后我终于找到了造成这个 Bug 的根本原因,解决掉以后觉得沾沾自喜!
  最后就差把 bugFix 分支里的工作合并回 main 分支了。你可以选择通过 fast-forward 快速合并到 main 分支上,但这样的话 main 分支就会包含我这些调试语句了。你肯定不想这样,应该还有更好的方式。
  实际我们只要让 Git 复制解决问题的那一个提交记录就可以了。跟之前我们在“整理提交记录”中学到的一样,我们可以使用以下两个命令来达到目的。

  • git rebase -i
  • git cherry-pick

  由于我们刚刚闯过类似的关卡,所以要不要再尝试一次就看你自己了。但是如果你想试一把的话,确保 main 分支能得到 bugFix 分支上的相关提交。

2、示范

(1)git rebase -i

  交互式 rebase 指的是使用带参数 --interactiverebase 命令, 简写为 -i
  如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。

git rebase -i HEAD~4
(2)git cherry-pick

  该指令是用于选择一个或多个提交(commit)并将其应用到当前分支的指令。

git cherry-pick <commit>...

  其中,<commit> 表示要选择的提交的哈希值或引用。

3、实战

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

  • help 指令

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

  • levels 指令

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

在这里插入图片描述

  • 目标

在这里插入图片描述

  • 开始结构

在这里插入图片描述

(1)第一种方法:rebase
  • Step 1、交互式的 rebase

  从目标可以知道,由于 main 分支只要 bugFix 提交,其他提交不想合并进去,就可以使用 rebase 将需要提交合并到 main 分支中;rebase 使用可以以下三种方式进行实现:

    • 分支名
git rebase -i main
    • HEAD指针偏移
git rebase -i HEAD~3
    • 哈希值
git rebase -i C1

  通过交互界面,把 bugFix 分支里 C2,C3 进行删除;运行结果如下图所示:

请添加图片描述

  • Step 2、合并 main

  通过 rebase 命令将 bugFix 分支合并到 main 中,从而达到更新 main 分支的作用;

git rebase bugFix main

  运行结果如下图所示:

在这里插入图片描述

(2)第二种方法:cherry-pick
  • Step 1、选择分支
git checkout main
  • Step 2、cherry-pick
git cherry-pick C4

  这里发现 bugFix 分支不变,main 分支满足需求也是一样能通关的,但这里有个问题怎么样才能将 bugFix 合并在一起呢?本人用 git rebase bugFix main 进行合并,但也会把 C2,C3也会一起合并进去,这样就达不到我们想要的结果,这个问题就留给各位大佬解决啦。😀

在这里插入图片描述

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

在这里插入图片描述


总结

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

在这里插入图片描述

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

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

更多专栏订阅:

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



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

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

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

相关文章

不允许在constexpr函数中进行声明

这是我用pycharm在windows系统下复现sfm深度学习网络(Deep Two-View Structure-from-Motion Revisited&#xff09;遇见的问题&#xff0c;复现时有段代码pytorch扩展cuda/c&#xff0c;pycharm中出现C标准相关的报错如下&#xff1a; 在网上查找很久无果&#xff0c;后面通过…

局域网tcp通信实验

两台windows系统计算机简单TCP通信测试_两台计算机tcp通信-CSDN博客 使用这篇文章的小工具。 环境&#xff1a; 我和同学的两台笔记本电脑。 使用我的手机开热点&#xff0c;两台电脑连接热点。 我的&#xff1a; IPv4 地址 . . . . . . . . . . . . : 192.168.92.79 子…

码农必看:常见源代码混淆技术详解

背景 一、项目组代码部署存在的问题 在项目组中&#xff0c;核心代码模块被部署于用户服务器上。然而&#xff0c;另一家公司获取了该服务器的root密码&#xff0c;这就存在着潜在的数据泄露和代码泄露的风险。传统的解决方法是通过配置环境变量来进行数据库加密处理&#xf…

全国项目管理标准化技术委员会副秘书长肖杨先生受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 全国项目管理标准化技术委员会副秘书长、微薄之力&#xff08;北京&#xff09;管理咨询有限公司董事长肖杨先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“数字化时代下&#xff0c;由职能型组织向高度适应性组织转…

免费的GPT-3.5 API服务aurora

什么是 aurora &#xff1f; aurora 是利用免登录 ChatGPT Web 提供的无限制免费 GPT-3.5-Turbo API 的服务&#xff0c;支持使用 3.5 的 access 调用。 【注意】&#xff1a;仅 IP 属地支持免登录使用 ChatGPT的才可以使用&#xff08;也可以自定义 Baseurl 来绕过限制&#x…

03-JAVA设计模式-装饰模式

装饰模式 什么装饰模式 装饰器模式&#xff08;Decorator Pattern&#xff09;也叫包装器模式&#xff0c;是一种结构型设计模式&#xff0c;允许用户在不改变对象的情况下&#xff0c;动态地给对象增加一些额外的职责&#xff08;功能&#xff09;。装饰器模式相比生成子类更…

【重磅福利】智慧餐饮互联网餐饮行业分析数字化报告大合集共40份(免费下载)

【1】关注本公众号 【2】私信发送 智慧餐饮报告合集 【3】获取本方案合集的下载链接&#xff0c;直接下载即可。

前端学习<四>JavaScript基础——15-内置对象 String:字符串的常见方法

内置对象简介 JavaScript 中的对象分为3种&#xff1a;自定义对象、内置对象、浏览器对象。 前面两种对象&#xff1a;是JS的基础内容&#xff0c;属于 ECMAScript&#xff1b; 第三个浏览器对象&#xff1a;属于JS独有&#xff0c;即 JS 内置的API。 内置对象&#xff1a;就是…

为什么大模型训练都需要GPU?现在都有哪些合适的GPU适合训练大模型?价格如何?

大家有没有这样的疑问&#xff0c;为什么大模型训练需要的是GPU&#xff0c;而不是CPU&#xff0c;而现在市面上&#xff0c;有哪些适合训练的GPU型号&#xff0c;价格如何&#xff1f;下面让我来一一给大家进行介绍。 为什么大模型训练需要GPU&#xff0c;而非CPU&#xff1f;…

设计模式——责任链模式13

责任链模式 每个流程或事物处理 像一个链表结构处理。场景由 多层部门审批&#xff0c;问题分级处理等。下面体现的是 不同难度的问题由不同人进行解决。 设计模式&#xff0c;一定要敲代码理解 传递问题实体 /*** author ggbond* date 2024年04月10日 07:48*/ public class…

Proteus与Multisim哪款更适合51单片机仿真?

选择使用Proteus或Multisim进行51单片机仿真&#xff0c;取决于用户的具体需求、个人偏好以及软件的特点。以下是关于这两款软件的对比分析&#xff1a; 功能和特性 Proteus是一款功能强大的电路设计和仿真软件&#xff0c;它支持多种单片机和微控制器的仿真&#xff0c;包括51…

最新小红书店铺开店带货教程,新手也能跑通全流程(6节课+爆款公式)

爆款标题公式 一、0粉丝个人开店适合哪些赛道,mp4 二、小红书起号爆款逻辑,mp4 三、如何找爆款选题蹭热点.mp4 四、抖音一件代发怎么操作,mp4 五、1688一件代发怎么操作,mp4 六、顾客退货怎么办,mp4 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qe…

基于java+springboot+vue实现的售楼管理系统(文末源码+Lw)23-255

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本售楼管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…

未提交事务直接返回,导致连接池资源耗尽

错误分析&#xff1a; 我所撰写的代码如下&#xff0c;在使用编程式事务的时候&#xff0c;我未提交或回滚事务就直接返回&#xff0c;因为连接池默认连接数的大小是10&#xff0c;所以到第十一次的时候连接池就会使用完&#xff0c;导致任务无法进行。 Autowired private Ns…

海山数据库(He3DB)原理剖析:浅析OLAP数据库计算引擎中的统计信息

背景&#xff1a; 统计信息在计算引擎的优化器模块中经常被提及&#xff0c;尤其是在基于成本成本优化&#xff08;CBO&#xff09;框架中统计信息发挥着至关重要的作用。CBO旨在通过评估执行查询的可能方法&#xff0c;并选择最有效的执行计划来提高查询性能。而统计信息则提…

Qt for MCUs 2.7正式发布

本文翻译自&#xff1a;Qt for MCUs 2.7 released 原文作者&#xff1a;Qt Group高级产品经理Yoann Lopes 翻译&#xff1a;Macsen Wang Qt for MCUs的新版本已发布&#xff0c;为Qt Quick Ultralite引擎带来了新功能&#xff0c;增加了更多MCU平台的支持&#xff0c;并且我们…

全光谱台灯哪个牌子好,2024全光谱护眼台灯推荐

近年来&#xff0c;全光谱台灯悄然跻身于家庭必备品之列&#xff0c;赢得了众多消费者的好评。它们以减轻眼睛疲劳的功效而受到推崇&#xff0c;尽管也有声音质疑其实际效用&#xff0c;认为所谓的益处不过是一种心理安慰。面对这些相互矛盾的观点&#xff0c;许多消费者感到困…

武汉星起航:深挖跨境电商潜力,助力创业者全球拓展

随着全球化进程的加速&#xff0c;跨境电商已成为推动国际贸易发展的新生力量。这一新模式的兴起&#xff0c;得益于互联网、物流和支付技术的深度融合&#xff0c;它不仅打破了地域限制&#xff0c;促进了商品和服务的全球流通&#xff0c;还为消费者带来了更多选择&#xff0…

即插即用篇 | YOLOv5/v7引入Haar小波下采样 | 一种简单而有效的语义分割下采样模块

本改进已集成到 YOLOv5-Magic 框架。 下采样操作如最大池化或步幅卷积在卷积神经网络(CNNs)中被广泛应用,用于聚合局部特征、扩大感受野并减少计算负担。然而,对于语义分割任务,对局部邻域的特征进行池化可能导致重要的空间信息丢失,这有助于逐像素预测。为了解决这个问题…

STC89C52学习笔记(八)

STC89C52学习笔记&#xff08;八&#xff09; 综述&#xff1a;本文讲述了LED点阵屏、如何进行数据串行输入&#xff0c;并行输出以及LED点阵屏显示一列多列图形。 一、LED点阵屏 1.介绍 LED点阵屏由多个LED组成&#xff0c;以矩阵形式排列&#xff08;类似于矩阵键盘&…