提交信息规范
提交信息是给自己和队友的“代码日记”。Conventional Commits 约定格式:<type>(<scope>): <subject>,type 固定几类(feat 新功能、fix 修复、docs 文档、style 格式、refactor 重构、test 测试、chore 杂务/构建)。
规范的价值不只是好看:工具能从规范提交自动生成 CHANGELOG、自动判定语义化版本(feat → 次版本、fix → 修订号、break → 主版本),这让发版从“人工定”变成“自动算”。
- 格式:type(scope): 简述 —— type 决定语义,scope 标注模块,subject 一句话说清
- 正文写“为什么”而不是“改了什么”(代码本身已说明 what)
- 配合 commitlint + standard-version:自动生成 CHANGELOG 与版本号
Git
// 合格的提交信息 // feat(login): 添加手机号验证码登录 // fix(cart): 修复数量为 0 时仍可下单的问题 // refactor(api): 统一错误处理为拦截器方式 // chore(deps): 升级 vite 到 5.2.0 // 不合格的提交信息(无法自动生成 changelog) // update(改了什么?哪个模块?) // 修复 bug(哪个 bug?) // wip(工作时禁止提交,要么写清楚要么别提交) // commitlint.config.js —— 强制校验提交信息 module.exports = { extends: ['@commitlint/config-conventional'], rules: { 'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore']], 'subject-max-length': [2, 'always', 72], // 简述不超过 72 字 }, };
本节要点Conventional Commits:type(scope): subject;规范提交让 CHANGELOG 与语义化版本自动生成。




