目录

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

总结

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

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

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

更多专栏订阅:

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

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
s_yellowfish1 小时前
Maven笔记
java·笔记·maven
放羊大亨2 小时前
《认知觉醒》下篇·第六章第一节“清晰:一个观念,重构你的行动力” 总结
笔记
小白探索世界欧耶!~3 小时前
【踩坑】GitHub Actions 运行的 Linux 环境中,文件名是大小写敏感的
linux·运维·服务器·前端·vue.js·笔记·github
韩zj3 小时前
springboot调用python文件,python文件使用其他dat文件,适配windows和linux,以及docker环境的方案
windows·spring boot·python
0x4083 小时前
数据结构--线性表&顺序表示(上)
数据结构·笔记
Tanner_SL4 小时前
Linux笔记之Ubuntu系统设置自动登录tty1界面
linux·笔记·ubuntu
Caroline皮皮4 小时前
团队开发中的Git 文件名大小写不敏感导致的文件冲突
git
愚润求学4 小时前
【C++】模板进阶
c语言·开发语言·c++·笔记·模板
东方芷兰4 小时前
JavaWeb 课堂笔记 —— 03 Vue
java·前端·javascript·vue.js·笔记
refigure5 小时前
系统变量和用户变量的区别是什么
windows