建什么网站访问量高,青岛公司网页设计,假山设计制作,宁波正规品牌网站设计#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、介绍 到了这里你基本上成为了别人眼中的大神了这关我们要来点不同的现在我们的 main 分支是比 one、two 和 three 要多几个提交。出于某种原因我们需要把 main 分支上最近的几次提交做不同的调整后分别添加到各个的分支上。 one 需要重新排序并删除 C5two 仅需要重排排序而 three 只需要提交一次。慢慢来你会找到答案的 —— 记得通关之后用 show solution 看看我们的答案哦。
2、示范 git rebase 指令用于将一个分支的提交逐个应用到另一个分支上以使得提交历史更加整洁。以下是该指令的基本用法
单参数
git rebase branch其中 branch 参数是要将当前分支的提交应用到的目标分支。执行该指令后Git会将当前分支的各个提交逐个应用到目标分支上创建新的提交。这样目标分支就会包含当前分支的最新更改而且提交历史线会更加整洁地呈现出一条直线。
双参数
git rebase branch1 branch2其中 branch1 参数是要将当前分支的提交应用到的目标分支branch2 参数是需要提交到目标分支的源分支。 需要注意的是git rebase 不会保留原始分支上的提交。相反它会将提交逐个应用到目标分支上并创建新的提交。如果在 git rebase 的过程中发生冲突需要手动解决冲突并使用 git add 命令将解决后的更改添加到暂存区。然后使用 git rebase --continue 指令继续进行 git rebase 的操作。 即使你搞砸了也没关系用 reset 命令就可以重新开始了。记得看看作者提供的答案看你能否使用更少的命令来完成任务
3、实战 从前面了解到具体的实现的步骤就可以开始实战啦。这里先给大家说一下这个练习网站的一些使用技巧
help 指令 执行这个命令后就会有个帮助信息的弹窗。 levels 指令 执行完这个命令之后就能看到关卡目录了。 目标 开始结构 1第一种方法 最能直接想到就是用 rebase -i 选择分支合入来就让我们来看看是怎么操作的吧。
Step 1、更新 one 分支 通过链式操作指向 C2 提交记录进入分离 HEAD 状态
git rebase main one运行结果如下图所示 Step 2、调整 one 分支 通过指定的 HAED 创建对应的分支
git rebase -i two运行结果如下图所示 Step 3、更新 two 最后在把 HEAD 指针重新指向 main 分支
git rebase main two运行结果如下图所示 Step 4、调整 two 最后在把 HEAD 指针重新指向 main 分支
git rebase -i three运行结果如下图所示 Step 5、更新 three 将 three 分支上从 C3 提交开始的提交应用到当前分支上。
git rebase three C2这个操作会将当前分支的提交切换为C3提交然后逐个应用 three 分支上的提交使其在当前分支上成为最新的提交。运行结果如下图所示 1第二种方法 除了用 rebase -i 选择分支合入之外也可以用 cherry-pick 来进行操作就让我们来看看是怎么操作的吧。
Step 1、选择 one 分支
git checkout one运行结果如下图所示 Step 2、更新 one 分支 选择需要合入分支的提交记录并按输入顺序进行合入。
git cherry-pick C4 C3 C2运行结果如下图所示 Step 3、选择 two 分支
git checkout two 运行结果如下图所示 Step 4、更新 two 分支 选择需要合入分支的提交记录并按输入顺序进行合入。
git cherry-pick C5 C4 C3 C2运行结果如下图所示 Step 5、更新 three 分支 最后通过 branch 指令强行把 three 分支移动到 C2 提交记录上同时丢弃原有的提交历史这里需要注意一下这可能会导致一些提交不可访问所以在实际项目过程中该指令还是谨慎使用比较好
git branch -f three C2运行结果如下图所示 实现方式有很多这里就不一一列举了达成目标之后就会有成功的提示。 总结 感谢观看如果觉得有帮助请给文章点个赞吧让更多的人看到。 也欢迎你关注我。 原创不易还希望各位大佬支持一下你们的点赞、收藏和留言对我真的很重要 最后本文仍有许多不足之处欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正下期再见。 更多专栏订阅: 【LeetCode题解持续更新中】 【鸿蒙系统】 【Python脚本笔记】 【Java Web项目构建过程】 【微信小程序开发教程】⚽ 【JavaScript随手笔记】 【大数据学习笔记华为云】 【程序错误解决方法建议收藏】 【软件安装教程】 订阅更多你们将会看到更多的优质内容