Skip to content

分支分类

main/master 分支

作用:项目的主线分支,一般用于保存稳定且可发布的代码。

特点:

  1. 主分支必须保持稳定状态,随时可进行线上发布;
  2. 只有在功能完整或经过充分测试以后,才可合并至主分支;

规范:

  1. 主分支不允许直接 push,合并代码需要提交 MR / PR;

Develop 分支

作用:作为日常开发的主线,包含最新的开发代码。

特点:

  1. 所有功能分支最终合并到 develop,确保它是最新的开发版本;
  2. 通常不直接在 develop 上开发,而是创建功能分支;

规范:

  1. develop 分支不允许直接 push,合并代码需要提交 MR / PR;

Feature 分支

作用:用于开发新的功能或特性,独立于主分支或开发分支。

命名约定:feature#原始分支名#新增功能说明

如:feature#develop#新增定位功能,表示从 develop 分支拉出,要新增车辆定位功能。

特点:

  1. 从 develop 分支创建,开发完成后合并回 develop;
  2. 每个功能分支专注于一个特定功能,便于管理和测试;

Release 分支

作用:用于版本发布前的最后阶段,包含待发布的代码。

命名约定:release#version-日期

如:release#4.0-20241226,表示 2024 年 12 月 26 日发布的 4.0 版本。

特点:

  1. 从 develop 分支拉出,进入测试和修复阶段;
  2. 发布后合并到 main 和 develop,并打上版本标签;
  3. 确保发布过程中的小 bug 修复也能同步到 develop 分支;

Hotfix 分支

作用:修复线上紧急 bug。

命名约定:hotfix#原始分支名#修复 bug 说明

如:hotfix#main#修复定位丢失 bug,表示从 main 分支拉出,修复线上定位丢失的紧急 bug。

特点:

  1. 直接从 main / master 分支拉出;
  2. 修复完成后合并到 main 和 develop,保持两个分支同步;
  3. 修复完成后立即部署,保障线上稳定性;

Bugfix 分支

作用:用于修复开发过程中的非紧急 bug。

命名约定:bugfix#原始分支名#修复 bug 说明

如:bugfix#release#4.0-20241226#修复定位消失 bug,表示修复 release#4.0-20241226 分支的定位点消失的 bug。

特点:

  1. 从 develop 拉出,修复后合并回 develop;
  2. 不直接影响线上版本,属于开发过程中的常规修复;

Experimental 分支

作用:用于尝试新技术或实验性开发,不影响主线开发。

命名约定:experimental#原分支名#功能说明

如:experimental#develop#实验 AI 导航功能,表示从 develop 分支拉出,实验 AI 导航功能。

特点:

  1. 通常短期存在,用于探索或验证想法;
  2. 实验成功后可能合并到 feature 或 develop,失败则放弃;

Project 分支

作用:开发客户定制化需求。

命名约定:project#客户名称-日期#功能说明

如:project#阿里总监-20241226#优化AI算法,表示阿里总监20241126提出,需要优化AI算法的需求。

Released under the MIT License.