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

基于Gitee 的开发分支版本管理规范

一、版本管理规范概述

  1. 目的:规范代码分支管理和版本发布流程,提高团队协作效率,确保代码质量和版本可追溯性。
  2. 适用范围:基于 Gitee 平台开发的所有项目。
  3. 分支策略:采用 Git Flow 模型的变体,主要分支包括 master、dev、sit、uat,辅助分支包括 feature、bugfix、release。

二、主要分支说明

  1. master 分支
    • 作为主分支,永远代表生产环境代码。
    • 该分支代码必须是经过充分测试且无明显缺陷的稳定版本。
    • 禁止直接在 master 分支上进行开发,所有更新都需通过合并其他分支(如 release 或 hotfix)完成。
    • 每次提交到 master 分支都应对应一个正式版本号,并打 Tag 标记。
  2. dev 分支
    • 作为开发主分支,集中了所有待发布版本的新功能和改进。
    • 开发人员在各自的 feature 分支上进行开发,完成后合并到 dev 分支。
    • 每日构建基于 dev 分支进行,确保新功能的集成测试。
  3. sit 分支
    • 用于系统集成测试(System Integration Testing)的分支。
    • 从 dev 分支创建,当需要进行系统集成测试时,将 dev 分支上的代码合并到 sit 分支。
    • 测试过程中发现的问题在 dev 分支修复后,再次合并到 sit 分支进行回归测试。
  4. uat 分支
    • 用于用户验收测试(User Acceptance Testing)的分支。
    • 从 sit 分支创建,当系统集成测试通过后,将 sit 分支上的代码合并到 uat 分支。
    • 供最终用户进行验收测试,确保系统符合业务需求。

三、辅助分支说明

  1. feature 分支
    • 用于开发新功能或改进现有功能。
    • 命名规则:feature/[功能名称],例如 feature/user-login。
    • 基于 dev 分支创建,开发完成后合并回 dev 分支。
    • 功能开发完成后,应及时删除该分支。
  2. bugfix 分支
    • 用于修复测试过程中发现的缺陷。
    • 命名规则:bugfix/[缺陷编号],例如 bugfix/1001。
    • 基于 dev 分支创建,修复完成后合并回 dev 分支和 sit 分支(如果需要)。
    • 缺陷修复后,应及时删除该分支。
  3. release 分支
    • 用于准备新版本的发布。
    • 命名规则:release/[版本号],例如 release/v1.0.0。
    • 基于 dev 分支创建,创建后不再添加新功能,只进行 Bug 修复、文档更新等与发布相关的工作。
    • 发布完成后,合并到 master 和 dev 分支,并在 master 分支上打 Tag。

四、版本号规则

  1. 版本号格式:主版本号。次版本号。修订号,例如 v1.0.0。
  2. 版本号升级规则
    • 主版本号:当有不兼容的 API 变更,或有重大功能更新时升级。
    • 次版本号:当有向下兼容的新功能添加时升级。
    • 修订号:当有向下兼容的问题修复时升级。
  3. 预发布版本:可以使用版本号后加 - beta、-rc 等后缀表示预发布版本,例如 v1.0.0-beta。

五、开发流程

  1. 新功能开发流程
    • 从 dev 分支创建 feature 分支。
    • 在 feature 分支上进行开发。
    • 开发完成后,提交 Pull Request 到 dev 分支。
    • 经过代码审查和自动化测试后,合并到 dev 分支。
    • 删除 feature 分支。
  2. 缺陷修复流程
    • 从 dev 分支创建 bugfix 分支。
    • 在 bugfix 分支上修复缺陷。
    • 修复完成后,提交 Pull Request 到 dev 分支和 sit 分支(如果需要)。
    • 经过代码审查和测试后,合并到相应分支。
    • 删除 bugfix 分支。
  3. 版本发布流程
    • 当 dev 分支上的功能足够稳定时,从 dev 分支创建 release 分支。
    • 在 release 分支上进行最后的测试和 Bug 修复。
    • 更新版本号和发布说明。
    • 测试通过后,将 release 分支合并到 master 和 dev 分支。
    • 在 master 分支上打 Tag 标记版本号。
    • 删除 release 分支。
  4. 紧急修复流程
    • 从 master 分支创建 hotfix 分支。
    • 在 hotfix 分支上进行紧急修复。
    • 修复完成后,提交 Pull Request 到 master 和 dev 分支。
    • 经过代码审查和测试后,合并到相应分支。
    • 在 master 分支上打新的 Tag 标记版本号。
    • 删除 hotfix 分支。

六、Gitee 平台使用规范

  1. 提交规范
    • 提交信息应清晰、简洁地描述本次提交的内容。
    • 遵循 "[类型] 描述" 的格式,例如 "[FEATURE] 添加用户登录功能"、"[FIX] 修复用户注册验证问题"。
    • 类型可以是 FEATURE(新功能)、FIX(修复缺陷)、REFACTOR(代码重构)、DOC(文档更新)等。
  2. Pull Request 规范
    • 每个 Pull Request 应只包含一个明确的功能或修复。
    • 提交 Pull Request 时,应填写详细的描述信息,说明本次变更的目的和内容。
    • 应至少有一名其他开发人员进行代码审查,审查通过后方可合并。
    • 合并前应确保所有自动化测试都已通过。
  3. Tag 管理
    • 在 master 分支上的每个正式版本都应打 Tag。
    • Tag 名称应与版本号一致,例如 v1.0.0。
    • 打 Tag 时应添加描述信息,说明该版本的主要更新内容。

七、自动化测试与持续集成

  1. 自动化测试
    • 每个 Pull Request 都应触发自动化测试,包括单元测试、集成测试等。
    • 只有当所有测试都通过后,Pull Request 才能被合并。
  2. 持续集成
    • 配置 Gitee 的持续集成服务,实现代码提交后的自动化构建和测试。
    • 确保 dev、sit、uat 和 master 分支的代码都能自动构建和测试。

八、附则

  1. 本规范自发布之日起生效,由项目管理团队负责解释和修订。
  2. 团队成员应严格遵守本规范,如有特殊情况需要偏离规范,需经项目负责人批准。

相关文章:

  • 字符串(二)
  • leetcode 153. Find Minimum in Rotated Sorted Array
  • RabbitMQ的基本使用
  • 力扣-盛最多水的容器
  • 文件包含靶场实现
  • RK3576 Android 14.0 SDK开发指南(第一集)
  • vivado fpga程序固化
  • FPGA:基于Vivado的仿真流程与波形调试实践
  • 企业级网络安全护盾:剖析高防IP原理与防护策略
  • C# 语法篇:字段的定义和运算
  • 基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析技术
  • Python实现VTK - 自学笔记(4):用Widgets实现三维交互控制
  • 已解决:Git冲突完全解决指南(附最佳实践)
  • 第三个小程序动工:一款结合ai的菜谱小程序
  • 软考中级软件设计师——计算机网络篇
  • 国产远程工具如何重新定义高效连接?——从协议支持到生态整合的全面解析
  • SPA模式下的es6如何加快宿主页的显示速度
  • Index-AniSora技术升级开源:动漫视频生成强化学习
  • 深入解析FramePack:高效视频帧打包技术原理与实践
  • 什么叫生成式人工智能?职业技能的范式转移与能力重构
  • 兴业证券:下半年A股指数稳、结构牛,中国资产重估刚刚开始
  • 宋鹍已任首都机场集团有限公司董事长、党委书记
  • 济南一医院救护车未执行紧急任务时违规鸣笛
  • 让中小学生体验不同职业,上海中高职院校提供超5万个体验名额
  • 被央视曝光“废旧厂区沦为垃圾山”,江西萍乡成立调查组查处
  • 广东信宜一座在建桥梁暴雨中垮塌,镇政府:未造成人员伤亡