【随笔】Git 高级篇 -- 相对引用2 HEAD~n(十三)

  • 💌 所属专栏:【Git】

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

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

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

文章目录


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第十三篇文章;

  这是今天学习到Git 高级篇 -- 相对引用2 💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。

  专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、Git 相对引用2

  这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的讲解了Git 相对引用1,接下来就跟着学习Git 相对引用的另外一个用法吧。话不多说,让我们原文再续,书接上回吧。

1、"~"操作符介绍

  如果你想在提交树中向上移动很多步的话,敲那么多 ^ 貌似也挺烦人的,Git 当然也考虑到了这一点,于是又引入了操作符 ~。

  该操作符后面可以跟一个数字(可选,不跟数字时与 ^ 相同,向上移动一次),指定向上移动多少次。**注意:后面是不能跟负数的。**咱们还是通过实际操作看一下吧。

2、示范

  咱们用 ~ 一次后退四步。执行指令:

python 复制代码
git checkout HEAD~4

  运行结果如下图所示:

  搞定。多么的简洁 ------ 相对引用就是方便啊!这里使用相对引用最多的就是移动分支。可以直接使用 -f 选项让分支指向另一个提交。例如:

python 复制代码
git branch -f main HEAD~3

  上面的命令会将 main 分支强制指向 HEAD 的第 3 级 parent 提交,运行结果如下图所示:

  这就对了! 相对引用为我们提供了一种简洁的引用提交记录 C1 的方式, 而 -f 则容许我们将分支强制移动到那个位置。

  既然你已经看过相对引用与强制移动分支的演示了,那么赶快使用这些技巧来挑战这一关吧!要完成此关,移动 HEADmainbugFix 到目标所示的位置。

3、实战

  从前面了解到具体的实现的步骤,就可以开始实战啦。这一关至少要用到一次直接引用(哈希值)。这里给大家说一下这个练习网站的一些使用技巧,

  • help 指令

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

  • levels 指令

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

  • 目标
  • 开始结构
  • Step 1、移动HEAD

  通过分支名的相对索引把 HEAD 指向对应的位置;

python 复制代码
git checkout C6

  运行结果如下图所示:

  • Step 2、移动main

  通过提交记录的哈希值直接把 HEAD 指向对应的位置。

python 复制代码
git branch -f main HEAD

  运行结果如下图所示:

  • Step 3、移动HEAD
python 复制代码
git checkout bugFix~2

  运行结果如下图所示:

  • Step 4、移动bugFix
python 复制代码
git branch -f bufFix HEAD~1

  运行结果如下图所示:

  完成目标后就有通关提示。**注意:但是这里我用4步,但答案是3步,这样的话我们可以把Step 1、2步进行合并,可以不用移动 HEAD 来提交 main ,直接用哈希值进行提交,这样就能满足要求啦。**具体命令如下:

javascript 复制代码
git branch -f main C6

总结

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

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

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

更多专栏订阅:

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

相关推荐
一只小菜鸡..14 小时前
南京大学 操作系统 (JYY) 学习笔记:进程、系统调用与状态机管理
笔记·学习
DeviceHub14 小时前
硬件工程师选型笔记:ALPS RK12L1230C0K 与 Tonevee RK12L1230C0K 电位器 PIN TO PIN 评估指南
笔记
whyTeaFo14 小时前
GAMES101: Lecture 13: Ray Tracing 1 (Whitted-Style Ray Tracing) ppt笔记
笔记
名字还没想好☜15 小时前
Python itertools 实战:用 groupby、chain、islice 优雅处理大数据流
linux·windows·python·迭代器·itertools
ziguo112218 小时前
深入浅出 C/C++ 数据类型:从入门到踩坑
linux·c语言·c++·windows·visual studio
阿扬ABCD19 小时前
ipmitool的Windows版本编译
windows·驱动开发
XS03010619 小时前
SpringMVC核心知识点实操笔记
笔记
依然范特东20 小时前
强化学习笔记1--基础概念
笔记
2301_8098152520 小时前
Git和Gitee基本使用教程
git·gitee
雨翼轻尘21 小时前
01_Git概述及基本操作
git·概述·基本操作