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

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.lryc.cn/news/583613.html

相关文章:

  • Python管理咨询数据可视化实战:收入分布与顾问利用率双轴对比图表生成脚本
  • 零基础上手 Amazon DynamoDB:NoSQL 数据库服务的核心概念与快速搭建指南
  • SQL Server 2008R2 到 2012 数据库迁移完整指南
  • Redis-哨兵选取主节点流程
  • CVE-2025-32463复现
  • AI进化论03:达特茅斯会议——AI的“开宗立派”大会
  • SpringBoot实现MCP
  • Git版本控制完全指南:从入门到实战(简单版)
  • 【LeetCode207.课程表】以及变式
  • Flutter基础(前端教程⑨-图片)
  • 「macOS 系统字体收集器 (C++17 实现)」
  • JavaScript对象的深度拷贝
  • 全球发展币GDEV:从中国出发,走向全球的数字发展合作蓝图
  • 【RK3568+PG2L50H开发板实验例程】FPGA部分 | DDR3 读写实验例程
  • 【学习笔记】OkHttp源码架构解析:从设计模式到核心实现
  • 【Java】【力扣】【字节高频】3.无重复字符的最长字串
  • 便捷的电脑自动关机辅助工具
  • Deepseek搭建智能体个人知识库
  • yolo8实现目标检测
  • 操作系统核心技术剖析:从Android驱动模型到鸿蒙微内核的国产化实践
  • Day 56
  • EPLAN 电气制图(六):结构盒与设备管理器核心概念(基础知识选看)
  • Linux操作系统之进程间通信:管道概念
  • EF提高性能(查询禁用追踪)(关闭延迟加载)
  • 神经网络初步学习3——数据与损失
  • 如何选择时序数据库:关键因素与实用指南
  • HCIP(综合实验)
  • 备受期待的 MMORPG 游戏《侍魂R》移动端现已上线 Sui
  • 【教程】基于GNN的药物相互作用网络中的链接预测
  • 200nl2sql