【随笔】Git 高级篇 -- 提交的技巧(下) cherry-pick commit --amend(十九)

请添加图片描述

  • 💌 所属专栏:【Git】

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

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

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

请添加图片描述

文章目录

  • 前言
  • 一、提交的技巧
      • 1、介绍
      • 2、示范
      • 3、实战
  • 总结


前言

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


一、提交的技巧

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

请添加图片描述

1、介绍

  如果你还没有完成“提交的技巧 #1”(前一关)的话,请先通过以后再来!😀
  正如你在上一关所见到的,我们可以使用 rebase -i 对提交记录进行重新排序。只要把我们想要的提交记录挪到最前端,我们就可以很轻松的用 --amend 修改它,然后把它们重新排成我们想要的顺序。
  但这样做就唯一的问题就是要进行两次排序,而这有可能造成由 rebase 而导致的冲突。前面也讲解过怎么用 git cherry-pick 来解决的,但我发现作者的解法跟我有点不一样,所以还是来看看 git cherry-pick 是怎么做的吧。
  下面来看一个例子:

在这里插入图片描述

git cherry-pick C2

  执行完后就会把 C2 分支合并到 main 分支里,运行结果如下图所示:

在这里插入图片描述

  这一关的目标和上一关一样,通过 --amend 改变提交记录 C2,但你不能用 rebase -i。自己想想要怎么解决吧! 😄
  对了,提交记录上面的’的数量并不重要,只是引用的不同而已。也就是说如果你的最终结果在某个提交记录上多了个’,也会算你通过的。

2、示范

  要在心里牢记 cherry-pick 可以将提交树上任何地方的提交记录取过来追加到 HEAD 上(只要不是 HEAD 上游的提交就没问题)。

  我们可以通过以下步骤来进行解决:

  • Step 1、首先用 git checkout main 选择主分支 main 对后续分支进行修剪;
  • Step 2、使用 git cherry-pick C2 选择需要修改的分支;
  • Step 3、使用 git commit --amend 修改提交记录;
  • Step 4、最后将剩余的提交分支合并入 main 分支里;

  也就是说,我在对比结果的时候只会对比提交树的结构,对于 ’ 的数量上的不同,并不纳入对比范围内。只要你的 main 分支结构与目标结构相同,就算通过啦。

3、实战

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

  • help 指令

  执行这个命令后就会有个帮助信息的弹窗。

在这里插入图片描述

  • levels 指令

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

在这里插入图片描述

  • 目标

在这里插入图片描述

  • 开始结构

在这里插入图片描述

  • Step 1、指向main分支

  这里 选择主分支 main 对后续分支进行修剪。

git checkout main

  运行结果如下图所示:

在这里插入图片描述

  • Step 2、选择需修改的分支

  通过 cherry-pick 选择需要修改分支,生成出新的分支。

git cherry-pick C2

  运行结果如下图所示:

请添加图片描述

  • Step 3、修改提交

  使用 commitamend 参数来对提交记录进行修改。

git commit --amend

  运行结果如下图所示:

请添加图片描述

  • Step 4、合并 main

  最后将改动重新合并到 main 分支中。

git cherry-pick C3

  运行结果如下图所示:

请添加图片描述

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

在这里插入图片描述


总结

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

在这里插入图片描述

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

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

更多专栏订阅:

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



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

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

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

相关文章

pose_iter_116000.caffemodel 下载地址(github)

没有百度云会员,github上几秒就下完了 face:pose_iter_116000.caffemodelhttps://github.com/ihp-lab/OpenSense/blob/fefe13ccf250e4811f4f61edf0b212e4ded78d19/Interoperations/OpenPose.PInvoke/OpenPoseLib/models/face/pose_iter_116000.caffemode…

搭建网站的步骤

搭建网站的步骤 我们选择了白嫖雨云的二级域名 浏览器输入https://www.rainyun.com/z22_ 创建账号然后选择一个你喜欢的子域名我建议后缀选择ates.top的 选择自定义地址,类型选择cname 现在要选择记录值了,有a,aa,txt等 根据实际…

加速度JUSDO | 电子元器件商城行业调研及运营方案

一、行业背景与竞品分析 随着电子元器件行业的快速发展,线上元器件商城已成为行业交易的重要渠道。目前市场上存在多个知名的元器件商城,如立创、云汉芯城、贸泽商城等,它们都提供了丰富的元器件产品和便捷的线上交易服务。 立创商城&#x…

1200/天,长期兼职贵么?

今天收到一个客户询盘,问公司长期招聘一个兼职程序员,包月的这种。问我多少钱一个月,在这种需求未明确的情况下,单纯的问价格其实意义不大的,只要报价不在客户心理预期范围内基本没戏的。 关于定价 关于程序员价格的定…

MySQL-----索引

一 概述 索引(index)是帮助MysQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构, 这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法&…

Excel 记录单 快速录入数据

一. 调出记录单 ⏹记录单功能默认是隐藏的,通过如下如图所示的方式,将记录单功能显示出来。 二. 录入数据 ⏹先在表格中录入一行数据,给记录单一个参考 ⏹将光标至于表格右上角,然后点击记录单按钮,调出记录单 然后点…

[目标检测] OCR: 文字检测、文字识别、text spotter

概述 OCR技术存在两个步骤:文字检测和文字识别,而end-to-end完成这两个步骤的方法就是text spotter。 文字检测数据集摘要 daaset语言体量特色MTWI中英文20k源于网络图像,主要由合成图像,产品描述,网络广告(淘宝)MS…

Kali系统开启SSH服务结合内网穿透工具实现无公网IP远程连接

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

Java特性之设计模式【外观模式】

一、外观模式 概述 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性 这种模式涉及到一…

漏洞挖掘 SSRF 一次很菜的SSRF低危小通杀

前言 一转眼貌似很长时间都没更新博客了,甚至连标题的大小和格式都有点忘了,今后应该尽量保持每周更新一次,主要是平常上课太忙了,在学校还总是不定时会刷新一些烂事,就耽误了很多时间。这篇文章用于记载我最近的一次…

PixArt-β:Fast and controllable image generation with latent consistency models

PixArt α to Σ: All about Efficient Diffusion Models - 知乎前言自年初Sora和Stable Diffusion 3推出以来,笔者就开始关注基于Diffusion Transformer的工作。在我的往期文章《 Diffusion Transformer Family:关于Sora和Stable Diffusion 3你需要知道…

原子操作和竞争条件

所有系统调用都是以原子操作方式执行的。之所以这么说,是指内核保证了某系统调用中的所有步骤会作为独立操作而一次性加以执行,其间不会为其他进程或线程所中断。原子性是某些操作得以圆满成功的关键所在。特别是它规避了竞争状态(race condi…

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。 安装教程可以找到,这里只讲怎么用。 在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待…

repl_backlog原理

2.2.3.repl_backlog原理 master怎么知道slave与自己的数据差异在哪里呢? 这就要说到全量同步时的repl_baklog文件了。 这个文件是一个固定大小的数组,只不过数组是环形,也就是说角标到达数组末尾后,会再次从0开始读写,这样数组…

vue快速入门(十三)v-model的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 数据双向绑定数据清空方法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…

vue数据检测原理

前言 Vue中的数据监听离不开Object.defineProperty()方法的使用&#xff0c;在了解数据监测原理之前&#xff0c;建议先掌握defineProperty的用法。 目标 1 数据监测问题 2 数据监测原理 3 如何实现数组更新 1 遇到的问题 数组更新问题 <button click"updatePeople&q…

ABAP-CPI-Odata POST-create_deep_entity 多层嵌套的处理及CPI端的调用

该文章演示怎么在OData里,创建一个多套多的请求结构,传入数据处理后,返回多层级的处理结果;以及如何在CPI里写groovy脚本,去解析它;最后如何用postman模拟外围系统,调用CPI这个接口,从而去调用Odata接口 假如想用SAP Odata去实现传入多层级的数据,进行创建或者根据传入…

libVLC 提取视频帧使用QWidget渲染

在前面的文章中&#xff0c;我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据&#xff0c;将数据渲染到QWidget上&#xff0c;该如何操作呢&a…

java八股——消息队列MQ

上一篇传送门&#xff1a;点我 目前只学习了RabbitMQ&#xff0c;后续学习了其他MQ后会继续补充。 MQ有了解过吗&#xff1f;说说什么是MQ&#xff1f; MQ是Message Queue的缩写&#xff0c;也就是消息队列的意思。它是一种应用程序对应用程序的通信方法&#xff0c;使得应用…

八次危机笔记

文章目录 前言一、思维导图危机一危机二危机三危机四危机五危机六危机七危机八 前言 重塑三观&#xff0c;致敬温老。一个有良心的学者&#xff01;&#xff01;&#xff01; 一、思维导图 危机一 危机二 危机三 危机四 危机五 危机六 危机七 危机八 ☆