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

Git分支管理:每个分支为什么这么命名?

一、为什么需要分支策略?

  • 避免代码冲突:多人同时开发时隔离代码

  • 保证主分支稳定:随时可部署的干净代码

  • 灵活管理功能:并行开发多个功能模块

  • 快速修复问题:紧急Bug修复不影响主流程


二、核心分支类型

1. 🌲 主分支(master/main)
  • 作用:正式环境运行的稳定代码

  • 规则

    • 唯一且受保护(只有管理员能合并)

    • 每次合并必须通过测试

    • 不允许任何⼈推送,只允许仓库管理员合并

  • 生命周期:永久存在

2. 🚧 开发分支(develop)
  • 作用:集成所有功能的测试版本

  • 规则

    • 基于master分支创建

    • 同样设置为保护分支

    • 用于部署到测试环境

  • 生命周期:永久存在

3. ✨ 功能分支(feature/*)
  • 作用:开发新功能/需求

  • 命名feature/功能名(如feature/user-login

  • 规则

    • 从develop分支创建

    • 完成新功能/需求开发后,开发⼈员提交feature分⽀到develop分⽀的 Pull Request,技术负责⼈(仓库管理员)进⾏审核决定是否将 feature 分⽀合⼊develop分⽀

    • 合并后立即删除

  • 生命周期:功能开发期间(通常1-3天)

4. 🐛 Bug修复分支(bug/*)
  • 作用:修复线上或测试环境问题

  • 命名bug/问题描述(如bug/login-error

  • 规则

    • 线上问题:从master分支创建

    • 测试问题:从develop分支创建

    • 修复后合并到对应分支并删除

  • 生命周期:问题修复期间(通常几小时)


三、标准工作流程

  1. 从master创建develop分支

  2. 开发新功能时:

    • 从develop创建feature分支

    • 开发完成后提交Pull Request(PR)

    • 管理员审核后合并到develop

  3. develop部署到测试环境

  4. 测试通过后合并到master

  5. 从master发布线上版本

详细的来说就是

1.将master 分⽀设置为保护分⽀(不允许任何⼈推送,只允许仓库管理员合并)。2. 基于master分⽀创建develop 分⽀,并设置为保护分⽀。3. 开发⼈员开发新功能/需求时基于 develop 分⽀创建 feature 分⽀,并在该分⽀上完成新功能的代
码开发。4. 完成新功能/需求开发后,开发⼈员提交feature分⽀到develop分⽀的 Pull Request,技术负责
⼈(仓库管理员)进⾏审核决定是否将 feature 分⽀合⼊develop 分⽀。5. 审核未通过,处理pull request中存在的问题。审核通过合并后将 develop 分⽀部署到测试环
境,提供给测试⼈员进⾏测试。6. 循环3-5步骤,直到项⽬完成。7. 将测试完成的 develop 分⽀合并到 master 分⽀上,基于 master 分⽀进⾏线上环境发布。8. 项⽬测试环节如果发现bug,基于develop分⽀创建新分⽀修改bug,修改完成后合⼊develop分
⽀进⾏测试。然后再执⾏步骤7。9. 线上环境发现bug,基于master分⽀创建新分⽀修改bug,修改完成后直接部署bug分⽀到测试
环境进⾏测试。测试通过后合⼊master分⽀,基于 master 分⽀进⾏线上环境发布。

四、遇到Bug怎么办?

场景1:测试环境发现Bug

  1. 从develop创建bug分支

  2. 修复后合并回develop

  3. 重新测试验证

场景2:线上环境发现Bug

  1. 从master创建bug分支

  2. 修复后直接部署测试

  3. 测试通过后合并到master

  4. 立即发布线上热修复


五、必须遵守的黄金法则

  1. 🔒 保护分支:master和develop必须设为保护分支

  2. 🧹 及时清理:feature/bug分支合并后立即删除

  3. 🔄 频繁同步:每天从develop更新本地分支

  4. ✏️ 规范命名:使用feature/xxx bug/xxx格式

  5. 👁️ 代码审查:所有合并必须通过PR审核


六、为什么这样设计?

  • master绝对稳定:随时可应对线上紧急问题

  • develop持续集成:快速验证新功能兼容性

  • 功能隔离开发:避免半成品代码影响他人

  • 历史记录清晰:通过分支名直接追溯修改目的

http://www.dtcms.com/a/308421.html

相关文章:

  • Acrobat DC 应用安全配置:沙箱防护、数字签名
  • 了解微前端和SSO单点登录
  • Linux/Ubuntu 系统中打开火狐firefox、chromium浏览器失败
  • (三)从零搭建unity3d机器人仿真:使用WheelCollider实现turtlebot轮子差速运动
  • Linux系统编程-gcc(黑马笔记)
  • 译 | 用于具有外生特征的时间序列预测模型TimeXer
  • JavaScript 大数运算!
  • Abp+ShardingCore+EFCore.BulkExtensions使用案例
  • MCU中的DAC(数字模拟转换器)是什么?
  • 动态挑战-响应机制和密钥轮换
  • 算法练习:JZ32 从上往下打印二叉树
  • iOS高级开发工程师面试——其他
  • 磁盘坏道检测工具在美国服务器硬件维护中的使用规范
  • Linux 计划任务管理
  • 【在线五子棋对战】十一、整合封装服务器模块实现
  • linux git ssh配置过程
  • chrome.storage 和 localStorage
  • 自动化与配置管理工具 ——SaltStack
  • 用 AI 自动生成口型同步视频,短视频内容也能一人完成
  • 基于深度学习的医学图像分析:使用YOLOv5实现医学图像目标检测
  • 测试平台进化论:如何在CI/CD时代重构软件质量防线
  • # 前端开发规范基础汇总
  • 掌握Python三大语句:顺序、条件与循环
  • 深度解析:基于Python构建的闲鱼自动化营销与信息发送机器人
  • 暄桐:如何脱离“不学无术”的状态?
  • 集成学习方法之随机森林:从原理到实战的深度解析
  • pip库版本升级
  • vue vxe-table :edit-config=“editConfig“ 可以编辑的表格
  • Netcat终极实战指南:从端口扫描到渗透测试
  • Multimodal Fusion on Low-quality Data: A Comprehensive Survey 中文版