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

运行结果如下图所示:

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


总结

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

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

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

更多专栏订阅:

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

相关推荐
Moonnnn.28 分钟前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
!!!5251 小时前
华为云镜像加速器
docker·容器·华为云
电棍2333 小时前
verilog笔记
笔记·fpga开发
让我安静会3 小时前
Obsidian·Copilot 插件配置(让AI根据Obsidian笔记内容进行对话)
人工智能·笔记·copilot
sszdzq4 小时前
Docker
运维·docker·容器
世事如云有卷舒4 小时前
FreeRTOS学习笔记
笔记·学习
dmy4 小时前
docker 快速构建开发环境
后端·docker·容器
利刃大大6 小时前
【Git】五、多人协作
git
羊小猪~~7 小时前
MYSQL学习笔记(九):MYSQL表的“增删改查”
数据库·笔记·后端·sql·学习·mysql·考研
2401_897930067 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka