PR/MR 标签是什么
标签是 PR/MR 的轻量分类系统,用来表达类型、优先级、状态与归属域(kind/bug、priority/P1、status/review-needed、area/frontend),支持按标签筛选与自动化分流:GitHub 可用 labeler 按改动路径自动打标,GitLab 有范围标签(scope 内互斥)。体系宁少勿滥,取值过多没人维护;标签只承担「筛选与路由」,不必承载全部信息。
基本信息
| 常见维度 | 类型(feature/bug/docs)、优先级、状态、归属域 |
|---|---|
| GitHub 自动化 | .github/labeler.yml 按改动路径自动加标签 |
| GitLab 特性 | 范围标签(scope::value)同组互斥,避免状态并存 |
| 查询 | gh pr list --label needs-review;平台页面同样支持组合筛选 |
| 维护 | 定期清理僵尸标签,每维度保持少量取值 |
| 判定标准 | 每个标签要能回答「谁会用它做什么」 |
典型使用场景
- 分流评审:按 area 标签找对应模块的评审人,缩短等待。
- 发布追踪:priority 与 kind 组合筛出进版范围,导出清单给测试。
- 状态管理:needs-info/blocked 让人一眼看到卡点。
- 自动打标:按改动路径加领域标签,减少手工维护。
- 度量分析:按标签统计 PR 分布与处理时长。
- 新人自助:用 status 标签找可以认领的评审任务,降低上手门槛。
- 自动化清理:定期归档并删除长期未用标签。
操作示例
操作示例
gh pr list --label needs-review # 筛出待评审
gh pr edit 128 --add-label kind/bugfix --add-label priority/P1
gh pr view 128 --json labels -q '.labels[].name' # 复核标签
# 标签约定示例(文本):kind/feature kind/bugfix kind/docs
gh pr list --state merged --label kind/bugfix --limit 20 # 统计已合并缺陷修复维度设计
| 维度 | 取值示例 | 说明 |
|---|---|---|
| kind | feature/bugfix/docs | 变更性质,决定发布说明分组方式 |
| priority | P0/P1/P2 | 决定排队顺序与催办对象 |
| status | review-needed/blocked | 流程状态,标明当前卡点 |
| area | frontend/backend | 归属域,路由到对应评审团队 |
标签体系宁少勿滥:超过两屏的标签列表会让人放弃维护,建议每个维度不超过 5 个取值;含义写进贡献指南,并给每个维度指定维护人,季度审视一次取值集合。