单个分支的功能一定要纯净,对于多个功能混在一个分支上的情况,将拒绝合并
Commit Message 规范(Angular 社区提交规范)
- feature:feat: ${新功能描述}
- fix:fix: ${修复事项描述}
- docs:doc: 更新文档
- refactor:refactor: ${重构描述}
- update version:chore(package): bump version to ${版本号}
分支命名规范
- feature:feature/${功能描述,多个单词用中划线 “-” 分隔}
- hotfix:hotfix/${修复事项,多个单词用中划线 “-” 分隔}
- refactor:refactor/${重构事项,多个单词用中划线 “-” 分隔}
- chore: chore/${其他不便分类的杂项修改}
分支流程
特性分支开发流程
plantUML 在线做图网址 http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
@startuml
autonumber
hide footbox
title **特性分支 PR 流程**
participant "Develop
开发分支" as dev
participant "feature/main
特性分支" as f0
note over of f0
一次业务或功能迭代为一个
特性分支,严禁多个特性混杂
end note
participant "feature/main-sub
特性子分支" as f01
note right of f01
子分支用于实现特性分支下的某个功能模块,
保证单次 CR 的代码量可控
end note
== 少量代码更改 ==
dev o->o f0: 从 develop 检出特性分支
activate f0
f0 ->o f0: 特性开发
f0 ->o dev: 提 MR,走 CR 流程
deactivate f0
...
== 特性分支代码量较大,不符合单次 CR,进行子分支拆分 ==
autonumber 1
dev o->o f0: 从 develop 检出特性分支
activate f0
f0 ->o f01: 从特性分支检出子分支
note right: 命名规范"特性分支名-子分支名"
activate f01
f01 ->o f01: 特性开发
f01 ->o f0: 提 MR,走 CR 流程
deactivate f01
f0 o->o dev: 提 MR,走快速 CR 流程
deactivate f0
@enduml
hotfix
@startuml
hide footbox
title **Hotfix 合并流程**
participant "master" as master
participant "hotfix" as hotfix
participant "develop" as dev
== 热修复流程 ==
autonumber
master o->o hotfix: 从 master 检出分支
activate hotfix
hotfix ->o hotfix: Bug 修复
hotfix ->o master: 提 MR,走 CR 流程
deactivate hotfix
...
== 仓库管理员收尾工作 ==
dev o->o master: develop 分支 rebase master 分支,同步热修复更改
@enduml