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

总结

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

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

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

更多专栏订阅:

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

相关推荐
Bunny021221 分钟前
SpringMVC笔记
java·redis·笔记
cs_dn_Jie1 小时前
mac 通过 Homebrew 安装 git 遇到的问题
git·macos
Wulitc5 小时前
GIT管理指令
git
热心网友纯白5 小时前
开源项目Lethe Windows编译过程
windows
贾贾20237 小时前
配电网的自动化和智能化水平介绍
运维·笔记·科技·自动化·能源·制造·智能硬件
纸飞机√※7 小时前
windows下部署安装 ELK,nginx,tomcat日志分析
windows·nginx·elk·tomcat
yerennuo7 小时前
windows第七章 MFC类CWinApp介绍
c++·windows·mfc
AitTech7 小时前
C#性能优化技巧:利用Lazy<T>实现集合元素的延迟加载
开发语言·windows·c#
爱辉弟啦7 小时前
Windows FileZila Server共享电脑文件夹 映射21端口外网连接
linux·windows·mac·共享电脑文件夹
可涵不会debug9 小时前
Git 分支管理与多人协作实战指南
git