【随笔】Git 高级篇 -- 推送主分支 git rebase & git fetch(三十三)

开源 0

请添加图片描述

  • 💌 所属专栏:【Git】

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

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

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

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩 🤩 🤩

请添加图片描述

文章目录

  • 前言
  • 一、推送主分支
      • 1、介绍
      • 2、示范
      • 3、实战
        • (1)第一种方法
        • (2)第二种方法
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第三十三篇文章;
  这是今天学习到Git 高级篇 – 推送主分支 💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、推送主分支

  这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的学习了远程服务器拒绝的解决方法,接下来就让我们看看在实际项目过程中是怎么合并特性分支的吧。话不多说,让我们原文再续,书接上回吧。

请添加图片描述

1、介绍

  既然你应该很熟悉 fetchpullpush 了,现在我们要通过一个新的工作流来测试你的这些技能。
  在大型项目中开发人员通常会在(从 main 上分出来的)特性分支上工作,工作完成后只做一次集成。这跟前面课程的描述很相像(把 side 分支推送到远程仓库),不过本节我们会深入一些.
  但是有些开发人员只在 main 上做 pushpull —— 这样的话 main 总是最新的,始终与远程分支 (o/main) 保持一致。对于接下来这个工作流,我们集成了两个步骤:

  • Step1、将特性分支集成到 main 上;
  • Step2、推送并更新远程分支;

2、示范

  让我们看看如何快速的更新 main 分支并推送到远程。

git pull --rebasegit push

  这里我们执行了两个命令:

  • 将我们的工作 rebase 到远程分支的最新提交记录;
  • 向远程仓库推送我们的工作;

  运行结果如下图所示:

请添加图片描述

  这个关卡的 Boss 很厉害 —— 以下是通关提示:

  • Step1、这里共有三个特性分支 —— side1side2side3
  • Step2、我需要将这三分支按顺序推送到远程仓库;
  • Step3、因为远程仓库已经被更新过了,所以我们还要把那些工作合并过来;

  😮 紧张了?祝你好运!完成了本关,你就向目标又迈近了一大步啦!

3、实战

  从前面了解到具体的实现的步骤,就可以开始实战啦。这里先给大家说一下这个练习网站的一些使用技巧,

  • help 指令

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

在这里插入图片描述

  • levels 指令

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

在这里插入图片描述

  • 目标

在这里插入图片描述

  • 开始结构

在这里插入图片描述

(1)第一种方法

  我们可以用 pull --rebase 拉取远程分支并合并到本地分支中(注意:在实际项目过程中可能还需要解冲突),然后用 rebase 一个个合并到 main 分支即可。接下来就让我们来看看是怎么操作的吧。

  • Step 1、选择 main 分支

  首先选择 main 分支为后续的同步远程仓库做准备。

git checkout main

  很简单吧,运行结果如下图所示:

在这里插入图片描述

  • Step 2、同步远程仓库

  这里是最关键的一步,拉取远程分支数据并以 rebase 的方式合并到本地分支中,实际项目过程中可能还需要解一下冲突。

git pull --rebase

  运行结果如下图所示:

请添加图片描述

  • Step 3、合并 side1 分支

  将 side1 分支合入到主分支中。

git rebase main side1

  运行结果如下图所示:

请添加图片描述

  • Step 4、合并 side2 分支

  将 side2 分支合入到主分支中。

git rebase side1 side2

  运行结果如下图所示:

在这里插入图片描述

  • Step 5、合并 side3 分支

  将 side3 分支合入到主分支中。

git rebase side2 side3

  运行结果如下图所示:

在这里插入图片描述

  • Step 6、更新 main 分支

  将主分支更新到本地提交最新状态。

git rebase side3 main

  运行结果如下图所示:

在这里插入图片描述

  • Step 7、推送 main 分支

  将主分支更新至最新状态之后,就可以将本地的修改点上传至远程分支了。

git push origin main

  运行结果如下图所示:

请添加图片描述

(2)第二种方法

  除了第一种方法之外,当然也可以用 fetch 的方式来拉取远程代码,接下来就让我们来看看是怎么操作的吧。

  • Step 1、拉取远程数据

  将远程分支的数据拉取到本地分支,但这里注意的是该数据没有合并到本地分支,只是提前下载好而已。

git fetch

  运行结果如下图所示:

请添加图片描述

  • Step 2、合并 side1 分支

  将 side1 分支合入到主分支中。

git rebase o/main side1

  运行结果如下图所示:

请添加图片描述

  • Step 3、合并 side2 分支

  将 side2 分支合入到主分支中。

git rebase side1 side2

  运行结果如下图所示:

请添加图片描述

  • Step 4、合并 side3 分支

  将 side3 分支合入到主分支中。

git rebase side2 side3

  运行结果如下图所示:

请添加图片描述

  • Step 5、更新 main 分支

  将主分支更新到本地提交最新状态。

git rebase side3 main

  运行结果如下图所示:

在这里插入图片描述

  • Step 6、推送main 分支

  将主分支更新至最新状态之后,就可以将本地的修改点上传至远程分支了。

git push origin main

  运行结果如下图所示:

请添加图片描述

  达成目标之后就会有成功的提示。

在这里插入图片描述


总结

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

在这里插入图片描述

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

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

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🌼 【鸿蒙系统】
  • 👑 【Python脚本笔记】
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



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

也许您对下面的内容还感兴趣: