当前位置: 首页 > ai >正文

Git系列--3.分支管理

目录

一、理解分支

        1.1图示

        1.2 打印仓库下有哪些分支

        1.3创建分支

        1.4HEAD与切换分支

        1.5合并分支

        1.6流程图理解

二、删除分支

三、合并分支冲突

        3.1.问题导入

        3.2.解决

        3.3合并图示

四、合并模式

       4.1合并​编辑

        4.2变基

五、bug分支

        5.1背景建立

        5.2解决步骤

                5.2.1保存dev2工作区内容

                 5.2.2建立bug分支,修改bug并提交与合并到主分支

                 5.2.3新功能研发,合并到研发分支测试

                 5.2.4合并到主分支

                 5.2.5流程图示

六、强制删除分支


一、理解分支

        1.1图示

             我们可以利用分支在同一时间进行多人并行工作,最后合并到主分支上进行最终管理 

         1.2 打印仓库下有哪些分支

git branch

        1.3创建分支

git branch branchname

        1.4HEAD与切换分支

        前文提到HEAD指向分支,这里明确HEAD指向主分支(带*的)

//切换HEAD所指的的主分支
git checkout branchname

        1.5合并分支

//将branchname合并到当前分支
git merge brancname

        1.6流程图理解

二、删除分支

        不能在当前分支删除自己

git branch -d brancename

三、合并分支冲突

        3.1.问题导入

                发生冲突


       

        3.2.解决

        手动解决并进行一次提交操作

          冲突文件内容,手动修改后提交

        3.3合并图示

四、合并模式

       4.1合并

git checkout main         # 切换到目标分支
git merge feature-branch  # 合并源分支

        4.2变基

  

git checkout feature-branch  # 切换到源分支
git rebase main             # 变基到目标分支

五、bug分支

        假如我们现在正在 dev2 分⽀上进⾏开发,开发到⼀半,突然发现 master 分⽀上⾯有 bug,需要解决。在Git中,每个 bug 都可以通过⼀个新的临时分⽀来修复,修复后,合并分⽀,然后将临时分⽀删除。

        5.1背景建立

                master出现bug--abcde缺少f使程序崩溃
        
dev2正在研究新功能(未提交)

        5.2解决步骤

                5.2.1保存dev2工作区内容

                        由于我们要从master建立bug分支进行修改,所以我们要保存dev2工作区内容,防止被新分支修改(dev2上内容为临时内容会被master看见)

//在dev2分支上:
git stash

                   5.2.2建立bug分支,修改bug并提交与合并到主分支
git checkout master
git checkout -b fix_bug
git add .
git commit -m ""
git cheackout master
//--no-ff No Fast Forward模式
git merge --no-ff branchname
      
                        5.2.3新功能研发,合并到研发分支测试
git stash pop
//恢复工作区内容
git merge --no-ff master
//合并到研发分支测试
git checkout master
git merge --no-ff dev2

                        5.2.4合并到主分支

        

                      5.2.5流程图示

六、强制删除分支

        如果我们今天正在某个 feature 分⽀上开发了⼀半(已被git管理),被产品经理突然叫停,说是要停⽌新功 能的开发。虽然⽩⼲了,但是这个 feature 分⽀还是必须就地销毁,留着⽆⽤了。这时使⽤传统 的 git branch -d 命令删除分⽀的⽅法是不⾏的。
//使用
git branch -D branchname

http://www.xdnf.cn/news/14956.html

相关文章:

  • 学习open62541 --- [79] 在docker中运行open62541工程
  • Java零基础笔记08(Java编程核心:面向对象编程高级 {继承、多态})
  • 编写产品需求文档:黄历日历小程序
  • Python-FAQ-单例模式
  • 论文解析篇 | YOLOv12:以注意力机制为核心的实时目标检测算法
  • 从零用java实现 小红书 springboot vue uniapp(13)模仿抖音视频切换
  • 飞算AI-idea强大的AI工具
  • 函数-3-日期函数
  • Android ViewModel机制与底层原理详解
  • 深度学习 必然用到的 微积分知识
  • 整合Spring、Spring MVC与MyBatis:构建高效Java Web应用
  • 【实习篇】之Http头部字段之Disposition介绍
  • vue快速上手
  • 解决IDEA缺少Add Framework Support选项的可行性方案
  • 跨平台ROS2视觉数据流:服务器运行IsaacSim+Foxglove本地可视化全攻略
  • 单片机STM32F103:DMA的原理以及应用
  • Python通关秘籍之基础教程(一)
  • 供应链管理-采购:谈判方式、理念、技巧
  • 【C++】第四章—— 函数重载 Function Overloading 笔记
  • android activity生命周期温习
  • JSP数据交互
  • JAVA如何实现Redis同步
  • 软件发布的完整流程梳理
  • 每日mysql
  • Debezium:一款基于CDC的开源数据同步工具
  • 如何使用Pytest进行测试?
  • Ubuntu22.04 设置显示存在双屏却无法双屏显示
  • MS32C001-C单片机,32位ARM M0+内核,宽电压、低功耗、小封装。
  • 【图像处理基石】如何检测到画面中的ppt并对其进行增强?
  • 【问题思考总结】两个向量之和的二范数公式是什么?