1.5 KiB
1.5 KiB
ADR 0005:分支策略(简化版 GitFlow)
- 状态:已接受
- 日期:2026-09-04
背景
项目进入多模块骨架建设阶段,单人/小团队开发。需要明确一套分支流,既保证 main 始终可发布,又不引入超过当前规模的开销。当前 dev 与 main 处于同一 commit(尚未分叉),正是定策略的时机。
决策
采用简化版 GitFlow:
feature/<name>从dev拉取,完成后 merge 回dev(不直接进main)。dev作为集成点,保持可构建;所有 feature 先合入这里。dev稳定后,经人工确认再 merge 回main。- 当前阶段不引入
release/*;hotfix/<name>(从main拉,合回main+dev)按需使用。
日常操作细节见 docs/gitflow.md。
理由
- 严格 GitFlow 中,
main只经release/*/hotfix/*进入,feature 永不直接碰main。在基础建设阶段,release/*分支是纯负担。 - 简化版保留了两个关键性质:
dev是集成点(隔离未稳定代码)、main只放可发布状态,同时免去 release 分支的管理开销。 - 与
feature/<name>/模块目录名对齐的命名,让分支与代码结构一一对应。
后果
main始终为可发布状态;进入main的合并必须人工确认。- 未来团队扩大或进入正式发布周期,可平滑升级为完整 GitFlow(引入
release/*、正式版本 tag),无需推翻现有模型。