1
0
wiki/Tech/software-engineering/协作规范/分支(Branch).md
2023-11-09 17:30:33 +08:00

2.9 KiB
Raw Blame History

title description keywords tags sidebar_position author date
分支Branch 分支
Git
分支
协作规范
软件工程/Git协作
1 7Wate 2023-06-26

git-flow

分支类型 命名规则 备注
主分支 main
开发分支 develop
功能分支 mastermaindeveloprelease-*hotfix-* 以外的任何名字 避免使用 mastermaindeveloprelease-*hotfix-*
预发布分支 release-* 名称中的 * 表示版本号或其他标识
热修复分支 hotfix-* 名称中的 * 表示版本号或其他标识

为了防止产生歧义,我们建议避免使用简拼命名。

主要分支

中央仓库中存在两个生命期无限长的主要分支:

  • Main主分支
  • Develop开发分支

主分支 origin/mainHEAD 指向的源码总是处于可发布的状态。另一方面,开发分支 origin/developHEAD 指向的源码应包含为下次版本发布准备的最近的一次提交。

develop 分支上的代码达到一个稳定点,并且准备进行发版时,所有在该分支上的修改都应该合并回 main 分支,并且打一个版本号标签(tag)。

辅助分支

为了协助平行开发,简化功能追踪,协助产品发布和快速修复线上版本的 bug我们采用了功能分支、预发布分支和热修复分支。

  • Feature branches (功能分支)
  • Release branches (预发布分支)
  • Hotfix branches (热修复分支)

功能分支

功能分支是从 develop 创建,必须合并回 develop。这些分支主要存在于开发者的本地仓库,不在远程仓库 origin 中。

预发布分支

预发布分支从 develop 创建,必须合并回 developmain。这些分支用于准备新版本的发布,包括进行小的 bug 修复和准备发布数据。发布后,预发布分支可以删除。

热修复分支

热修复分支从 main 创建,必须合并回 developmain。这些分支用于修复线上版本的严重 bug。修复完成后热修复分支可以删除。如果当前存在预发布分支热修复分支应该合并到预发布分支而不是开发分支。