【随笔】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

总结

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

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

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

更多专栏订阅:

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

相关推荐
Xam_d_LM25 分钟前
【Linux】如何清除 Ubuntu 留下的 EFI 分区,Windows 磁盘管理器右键删除卷是灰色
linux·运维·windows·ubuntu·重装系统·磁盘管理器
lil44x_31 分钟前
嵌入式学习笔记DAY23(树,哈希表)
笔记·学习
霸王蟹41 分钟前
常见面试题:Webpack的构建流程简单说一下。
前端·笔记·学习·webpack·node.js·vue
匆匆整棹还1 小时前
服务器上的Nano 编辑器进行git合并
git·编辑器
珊瑚里的鱼1 小时前
【滑动窗口】LeetCode 1004题解 | 最大连续1的个数 Ⅲ
开发语言·c++·笔记·算法·leetcode
shandianchengzi1 小时前
【工具】Windows|外接的显示器怎么用软件调亮度(Brightness Slider)
windows·计算机外设·显示器·工具·软件
大筒木老辈子2 小时前
Linux笔记---内核态与用户态
linux·运维·笔记
Vizio<3 小时前
基于MNIST数据集的手写数字识别(CNN)
人工智能·笔记·深度学习·神经网络·cnn
FBI HackerHarry浩3 小时前
Linux云计算训练营笔记day11(Linux CentOS7)
linux·运维·笔记·云计算
再看扣你眼3 小时前
系统安全及应用学习笔记
笔记·学习·系统安全