做平面常用的网站,单仁做的网站,谷歌浏览器直接打开,做好中心网站建设工作#x1f48c; 所属专栏#xff1a;【Git】 #x1f600; 作 者#xff1a;我是夜阑的狗#x1f436; #x1f680; 个人简介#xff1a;一个正在努力学技术的CV工程师#xff0c;专注基础和实战分享 #xff0c;欢迎咨询#xff01; #x1f496; 欢迎大… 所属专栏【Git】 作 者我是夜阑的狗 个人简介一个正在努力学技术的CV工程师专注基础和实战分享 欢迎咨询 欢迎大家这里是CSDN我总结知识的地方喜欢的话请三连有问题请私信 文章目录 前言一、快速定位分支1、介绍2、示范3、实战1第一种方法1第二种方法 总结 前言 大家好又见面了我是夜阑的狗本文是专栏【Git】专栏的第二十三篇文章; 这是今天学习到Git 高级篇 --快速定位分支 开启新的征程记录最美好的时刻每天进步一点点。 专栏地址【Git】 此专栏是我是夜阑的狗对GitGitee等工具使用过程的总结希望能够加深自己的印象以及帮助到其他的小伙伴。 如果文章有什么需要改进的地方还请大佬不吝赐教。 一、快速定位分支 这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程就让我们一步一步跟着教程学习吧记录下自己的所感所悟。前面已经简单的学习了管理合并多分支接下来就让我们看看在实际项目过程中是怎么快速定位分支的吧。话不多说让我们原文再续书接上回吧。 1、介绍 操作符 ^ 与 ~ 符一样后面也可以跟一个数字。但是该操作符后面的数字与 ~ 后面的不同并不是用来指定向上返回几代而是指定合并提交记录的某个 parent 提交。还记得前面提到过的一个合并提交有两个 parent 提交吧所以遇到这样的节点时该选择哪条路径就不是很清晰了。 Git 默认选择合并提交的“第一个” parent 提交在操作符 ^ 后跟一个数字可以改变这一默认行为。
2、示范 这里有一个合并提交记录。如果不加数字修改符直接切换到 main^会回到第一个 parent 提交记录。
git checkou main^运行结果如下图所示 现在来试试选择另一个 parent 提交……
git checkou main^2运行结果如下图所示 使用 ^ 和 ~ 可以自由地在提交树中移动非常给力
git checkout HEAD~
git checkout HEAD^2
git checkout HEAD~2运行结果如下图所示 更厉害的是这些操作符还支持链式操作试一下这个
git checkout HEAD~^2~2运行结果如下图所示 虽然和前面的结果一样但是我们发现只用了一条命令就能完成了。要完成此关在指定的目标位置创建一个新的分支。很明显可以简单地直接使用提交记录的哈希值比如 C6但这里作者要求你使用刚刚讲到的相对引用修饰符
3、实战 从前面了解到具体的实现的步骤就可以开始实战啦。这里先给大家说一下这个练习网站的一些使用技巧
help 指令 执行这个命令后就会有个帮助信息的弹窗。 levels 指令 执行完这个命令之后就能看到关卡目录了。 目标 开始结构 1第一种方法 可以先移动 HEAD 指针来指向 C2 然后在创建分支名这种方法比较繁琐一点。
Step 1、指向 C2 通过链式操作指向 C2 提交记录进入分离 HEAD 状态
git checkout HEAD~1^2~1运行结果如下图所示 Step 2、创建 bugWork 分支 通过指定的 HAED 创建对应的分支
git branch bugWork运行结果如下图所示 Step 3、指向 main 最后在把 HEAD 指针重新指向 main 分支
git checkout main运行结果如下图所示 1第二种方法 我们可以直接通过创建分支的同时指定对应位置即可这样就能一条命令实现该方法比较简洁以下是具体实现多种方式。
^ 和 ~ 符号混用 这是个人比较推荐的方式在实际操作过程中往往提交记录之间的层级关系都是很深的能把两种操作符进行配合使用将会大大减少指令繁琐程度。
git branch bugWork main~^2~也可以使用 HEAD 指针或者哈希值进行指定位置。
git branch bugWork HEAD~^2^^ 符号单用 对于层级不那么深的提交记录可以用 ^ 符号进行操作但层级深度关系一旦多起来虽然说也可以实现但是会有很多个 ^ 符号不像 ~ 符号那么方便了。
git branch bugWork main^^2^实现方式有很多这里就不一一列举了达成目标之后就会有成功的提示。 总结 感谢观看如果觉得有帮助请给文章点个赞吧让更多的人看到。 也欢迎你关注我。 原创不易还希望各位大佬支持一下你们的点赞、收藏和留言对我真的很重要 最后本文仍有许多不足之处欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正下期再见。 更多专栏订阅: 【LeetCode题解持续更新中】 【鸿蒙系统】 【Python脚本笔记】 【Java Web项目构建过程】 【微信小程序开发教程】⚽ 【JavaScript随手笔记】 【大数据学习笔记华为云】 【程序错误解决方法建议收藏】 【软件安装教程】 订阅更多你们将会看到更多的优质内容