当前位置: 首页 > 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.dtcms.com/a/271208.html

相关文章:

  • 自学软件测试需要学哪些内容?
  • 图像硬解码和软解码
  • 轻量锁偏向锁重量锁害人不浅!synchronized源码!
  • eggNOG数据库注释文件
  • HCIA暑期作业
  • 阿里云和腾讯云RocketMQ 发消息和消费消息客户端JAVA接口
  • 高速公路门架系统的三种数据(交易流水、牌识流水、雷达轨迹)是怎么生成的
  • 区块链平台以太坊核心原理
  • 人工智能与机器学习暑期科研项目招募(可发表论文)
  • 【Modern C++ Part8】Prefer-nullptr-to-0-and-NULL
  • 小赛安全智脑×动态MCP Server:让组件API对接像搭积木一样简单
  • 基于lottie的微信小程序动画开发指南
  • [论文阅读] 软件工程 | 一篇关于开源许可证管理的深度综述
  • 轻松更改 Power BI 中的数据源类型
  • 川翔云电脑:突破硬件极限,重构设计生产力范式
  • 软件设计师中级概念题
  • Vue+ElementUI聊天室开发指南
  • 桌面开发,在线%图书管理系统%开发,基于C#,winform,界面美化,mysql数据库
  • 技术开发栈中 URL地址末尾加不加 “/“ 有什么区别?
  • 028_this关键字的使用场景
  • ABP VNext + Marten:事件溯源与 CQRS 全流程实战
  • Amazon SageMaker 部署 AIGC 应用:训练 - 优化 - 部署 - Web 前端集成应用实践
  • 解决IDEA缺少Add Framework Support选项的可行性方案
  • ObjectClear - 图像处理新革命,一键“抹除”图像中任意物体与阴影 支持50系显卡 一键整合包下载
  • 响应式原理二:响应式依赖收集
  • 前端进阶之路-从传统前端到VUE-JS(第四期-VUE-JS页面布局与动态内容实现)(Element Plus方式)
  • Higress 上架 KubeSphere Marketplace,助力企业构建云原生流量入口
  • 海信IP501H_GK6323处理器免拆卡刷包和线刷救砖包_当贝纯净版
  • 类模板的语法
  • 计算机网络实验——网线的制作和测试