用途:根据已暂存或指定范围的 git diff,生成清晰、符合约定的提交信息,让提交历史更易读,并便于自动生成 changelog。
主要能力:采用 Conventional Commits 格式 <type>(<scope>): <short description>,可选 body 与 footer。type 覆盖 feat、fix、docs、style、refactor、perf、test、chore、ci、build;scope 可选,用于标明代码区域如 auth、api、ui、db、deps。主题行要求祈使语气、类型后小写、不加句号,尽量不超过约 50 字符、最多 72 字符。body 在 72 字符处换行,解释“为什么”;footer 支持 BREAKING CHANGE:、Fixes #123、Refs #456。
使用方式:先检查 diff,可用 git diff --cached 查看暂存改动,或用 git diff BASE_SHA..HEAD_SHA 查看指定范围;然后判断 type 与 scope,编写主题行,必要时补充 body 与 footer。
适用场景:准备提交改动前、用户要求写提交信息或总结改动时、项目采用或需要制定提交约定时。
限制与规则:只依据实际 diff 推断,不虚构改动;一次提交对应一个逻辑变更,混合改动建议拆分或说明;应匹配项目已有的提交风格;主题行自明时省略 body。需避免“Fixed bug”“Updates”等含糊表述、过去时、单次提交混用多种类型、过长主题行以及仅重复主题的 body。官方原文与安装命令暂未提供。