PR 模板是什么
PR 模板是一段预填进新建 Pull Request 描述框的 Markdown 文本,作用是把团队的评审检查项固化成固定格式,让每个 PR 都交代清动机、影响面与验证方式。GitHub 按约定路径自动加载模板文件;GitLab 的对应机制是合并请求模板目录。模板只负责提醒,不负责强制,真正的硬性要求仍要交给 CI 或分支保护。
基本信息
| GitHub 单模板 | .github/pull_request_template.md(文件名大小写不敏感) |
|---|---|
| GitHub 多模板 | .github/PULL_REQUEST_TEMPLATE/<名称>.md,创建时用 template=<名称> 选用 |
| GitLab 对应 | .gitlab/merge_request_templates/ 目录,默认模板名 Default.md |
| 生效范围 | 仓库默认分支上的模板文件对新 PR 生效 |
| 权限要求 | 仓库写入权限即可提交模板文件 |
典型使用场景
- 统一收集变更目的与影响范围,减少评审人反复追问背景
- 把测试、文档、兼容性、回滚方案等检查项固化为可勾选清单
- 按改动类型提供多套模板:新功能、缺陷修复、依赖升级、紧急热修各一份
- 预留关联 Issue 的写法,让需求与代码保持可追溯
- 标注破坏性变更与迁移步骤的填写位置,降低发布风险
创建模板文件
创建模板文件
mkdir -p .github # 建立 GitHub 约定的配置目录
touch .github/pull_request_template.md # 新建默认 PR 模板
git add .github/pull_request_template.md # 纳入版本管理
git commit -m 'chore: 添加 PR 模板' # 必须提交到默认分支才会生效
git push origin main # 推送后新建的 PR 会自动带出模板模板正文示例
模板正文示例
## 变更说明
<!-- 一句话说明目的与影响面 -->
## 风险与回滚
<!-- 是否可回滚、回滚步骤 -->
## 检查清单
- [ ] 已补充或更新测试
- [ ] 已更新文档(如需要)
- [ ] 破坏性变更已在描述中标注
## 关联 Issue
Closes #模板路径对照
| 平台 | 路径 | 说明 |
|---|---|---|
| GitHub | .github/pull_request_template.md | 默认单模板 |
| GitHub | .github/PULL_REQUEST_TEMPLATE/ | 多模板目录,用 URL 参数选用 |
| GitLab | .gitlab/merge_request_templates/ | 目录内多个 .md,Default.md 为默认 |
模板内容在创建 PR 后可以被任何人删改,它是提醒而非门禁。真正必须满足的条件(测试通过、批准数、会话全部解决)应配置成 CI 检查或分支保护,模板与自动化职责互补,不要互相重复。
模板越长越容易被整段忽略,建议控制在半屏以内:只留必须由人填写的项。模板更新后只对新 PR 生效,已存在的 PR 描述不会自动回填。