【随笔】Git 基础篇 -- 分支与合并 git rebase(十)

  • 💌 所属专栏:【Git】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

文章目录


前言

大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第十篇文章;

这是今天学习到Git 基础篇 -- 分支与合并 git rebase💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。

专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、Git 分支与合并

。这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。由于前面的两个基础篇教程有点简单,这里就从第三个教程开始记录。话不多说,让我们原文再续,书接上回吧。

1、介绍

接下来咱们看看如何将两个分支合并到一起。就是说我们新建一个分支,在其上开发某个新功能,开发完成后再合并回主线。

咱们先来看一下第二种合并分支的方法是 git rebaseRebase 实际上就是取出一系列的提交记录,"复制"它们,然后在另外一个地方逐个的放下去。

2、示范

通过图示更容易理解一些,如下图所示。

我们还是准备了两个分支;注意当前所在的分支是 bugFix(星号标识的是当前分支)。咱们通过合并这两个分支来解决这个问题。这里想要把 bugFix 分支里的工作直接移到 main 分支上。移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发的。

我们要把 bugFix 合并到 main

python 复制代码
git rebase main

现在 bugFix 分支上的工作在 main 的最顶端,同时我们也得到了一个更线性的提交序列。

注意,提交记录 C3 依然存在(树上那个半透明的节点),而 C3' 是我们 Rebase 到 main 分支上的 C3 的副本。

现在唯一的问题就是 main 还没有更新,下面咱们就来更新它吧。首先切换到了 main 上。把它 rebasebugFix 分支上

python 复制代码
git rebase bugFix

好了!由于 bugFix 继承自 main,所以 Git 只是简单的把 main 分支的引用向前移动了一下而已。

现在所有提交记录的颜色都一样了,这表明每一个分支都包含了代码库的所有修改!大功告成!让我们来总结一下要实现的具体步骤:

  • Step 1 、创建并切换到新分支 bugFix

  • Step 2、提交一次;

  • Step 3 、用 git checkout main 切换回 main,再提交一次;

  • Step 4 、再次切换到 bugFix分支,rebasemain 上;

1、实战

从前面了解到具体的实现的步骤,这里用的分支是为 JMFive,所以达不成目标的。这里需要注意一下,这里一定完成目标才能通关,分支命名一定要 bugFix。

这里给大家说一下这个练习网站的一些使用技巧,

  • help 指令

执行这个命令后就会有个帮助信息的弹窗。

  • levels 指令

执行完这个命令之后就能看到关卡目录了。

  • 目标
  • 开始结构
  • Step 1、创建并切换到新分支 JMFive
python 复制代码
git checkout -b JMFive

运行结果如下图所示:

  • Step 2、提交一次
python 复制代码
git commit

运行结果如下图所示:

  • Step 3、切换成分支main,再提交一次

    用 git checkout main 切换回 main;

python 复制代码
git checkout main
git commit

运行结果如下图所示:

  • Step 4、再次切换到 JMFive分支,rebasemain
python 复制代码
git checkout JMFive
git rebase main

运行结果如下图所示:

注意,如果分支是bugFix的话,到这一步操作,就可以通关了

  • Step 5、更新main
python 复制代码
git checkout main
git rebase JMFive

运行结果如下图所示:

完成目标后就有通关提示。


总结

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

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

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

更多专栏订阅:

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

相关推荐
努力变厉害的小超超44 分钟前
ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染
笔记·鸿蒙
追风林5 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
aloha_7895 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
dsywws6 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晓理紫7 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
城南vision7 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge7 小时前
Docker篇(Docker Compose)
运维·docker·容器
A-超9 小时前
vue3展示pag格式动态图
笔记
我不是程序猿儿9 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
u0101526589 小时前
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
笔记·stm32·学习