Git分支管理在实际开发的体现

三大重点

  1. 为什么要制定Git分支管理规范

  2. 规范的Git分支都有哪些

  3. Git分支在实际开发中使用流程

目标分析

1.为什么要制定Git分支管理规范?

  • 加速团队协作,让成员明确各分支用途。

  • 确保代码质量,通过审查保证稳定性和高质量。

  • 维护主分支稳定,避免未完成代码干扰生产环境。

  • 支持敏捷开发,适应快速迭代和持续集成。

  • 便于问题解决,快速定位错误来源。

  • 新人快速上手,标准化流程易于理解。

2.Git分支都有哪些?

主分支:

主干分支具有分支保护权限,只有运维有权限进行合并分支

分支模型用途
master主干分支,正式版本代码归档
develop开发分支,团队成员日常开发的主分支
doc文档分支,SQL脚本、配置等

辅助分支:

属于临时分支,当功能合并主干后,会删除清理掉

分支模型用途
feature从develop拉取开发的功能分支
hotfixbug修复分支

3.Git分支在实际开发中使用流程

一. 开发前,通过develop分支拉取功能分支

✅有什么好处?

保持团队的起始开发分支一致,从同一个起点出发

通过develop中拉取feature分支

二. 开发中,各个组员根据功能分支拉取自己临时开发分支

✅有什么好处?

团队成员有自己临时开发分支,保证开发灵活性,提测版本稳定性,保证功能分支的健壮稳定性

通过feature分支,团队内对应组员自己拉取进行开发,不仅实现了庞大项目的解耦合,同时提高了小组内的沟通效率

三. 提测中,各个组员将自己临时开发分支合并到功能分支进行流水线打包提测

✅有什么好处?

团队成员每完成自己任务并验证后,即可合并提测,提高合作效率,加快提测速度,推进项目进度有序进行

张三开发的模块A功能完成,本地调试正常后,将自己临时分支合并到功能分支,流水线由测试环节打包功能分支,李四同理。

四. 预生产稳定后,将蓝绿部署平衡切换,然后逐个合并分支

什么是蓝绿部署

蓝绿部署是一种将生产环境直接从当前版本(蓝色)切换到新版本(绿色)的策略。这要求同时运行两个完全相同的生产环境,但只有一个对外提供服务。

举个例子:你有两个餐厅大厅,一个叫「蓝厅」,一个叫「绿厅」。蓝绿部署的方式就像你用这两个大厅来轮流接待顾客。

蓝绿部署的流程
  1. 蓝厅正在营业:平时,所有的顾客都在蓝厅吃饭,你让蓝厅正常营业。

  2. 准备绿厅:你决定对餐厅进行一些改进,比如换新菜单、装修一下,但你不想打扰顾客吃饭。于是,你偷偷把这些改进先在绿厅上准备好(分支的建立,代码更改,提测,预生产等不对外开放,也就不会影响线上环境)。

  3. 切换大厅:当绿厅的一切准备就绪后,你会让顾客从蓝厅转移到绿厅。这时候,顾客到绿厅继续吃饭,只是环境稍微不同了,或者菜单更新了。

  4. 备用蓝厅:现在绿厅开始正常营业了,蓝厅则空闲下来。你可以随时在蓝厅再做新的改进,或者如果发现绿厅有任何问题,你可以马上把顾客切换回蓝厅,进行合理负载。

蓝绿部署的好处
  • 不打扰顾客:顾客一直都有一个大厅可以用,不会因为你在装修或改进而受到影响。

  • 随时切换:如果新的绿厅有问题,你可以立即切回蓝厅,保证顾客的体验不受影响。

在网站的更新中,蓝色和绿色代表的是两套同样的系统(比如两个服务器)。平时用户使用蓝色的系统,技术团队在绿色系统上进行改进和测试。当绿色系统准备好后,就会切换到用户面前。这样用户几乎不会注意到系统的更换,也不会受到更新过程的干扰。

蓝绿部署就是让两套系统轮流工作,确保系统更新流畅、用户体验良好。

原本工作的是稳定的旧系统(蓝厅)。基于此,我们开发了一个新的系统(绿厅)。新系统在开发中的一系列工作不对外提供服务。当预生产稳定后,我们将提供服务的系统从蓝切换到绿。系统稳定后,旧系统便可空闲下来,最后再对其进行分支的合并。

总结

概要

本文详细介绍了制定Git分支管理规范的必要性以及一个典型企业内部的Git分支管理流程,旨在通过规范化的Git操作促进团队高效协作、确保代码质量和提升开发流程的灵活性。

文章核心

  • 为何制定规范:规范有助于加速团队协作,确保代码质量,维护主分支稳定,支持敏捷开发模式,便于问题追踪,加速新人融入,及促进代码复用。

  • Git分支结构:主分支:包括master(存放正式版本)、develop(日常开发主分支)、doc(文档与配置相关)。辅助分支:分为feature(特性开发)和hotfix(紧急修复),属于临时性分支,完成后会合并并删除。

实际操作流程

  • 开发前:从develop分支创建带有特定命名规则的feature分支,以保持团队同步并方便自动化部署。

  • 开发中:团队成员基于功能分支各自拉取临时开发分支,实现灵活开发同时保持功能分支的稳定。

  • 提测阶段:完成开发的成员将个人分支合并回功能分支,由测试团队基于此分支进行打包测试。

  • 部署上线:采用蓝绿部署策略,确保新版本无缝切换至生产环境,同时逐步完成各分支的合并,保证版本的连续性和环境的稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值