Git flow 使用实践

单个分支的功能一定要纯净,对于多个功能混在一个分支上的情况,将拒绝合并

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\n开发分支" as dev
participant "feature/main\n特性分支" as f0
note over of f0
一次业务或功能迭代为一个
特性分支,严禁多个特性混杂
end note
participant "feature/main-sub\n特性子分支" 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
posted @ 2020-05-04 11:34  Ever-Lose  阅读(429)  评论(1编辑  收藏  举报