为什么用 Conventional Commits
Conventional Commits 规范将提交消息标准化为 type(scope): description 的格式。Semver 自动化工具通过解析它来决定主版本(破坏性变更)、次版本(新功能)和补丁版本(修复)的升级;变更日志工具按类型分组;审查者也能一目了然地浏览提交历史。
如何写好 subject 标题
- 祈使语气:"add"、"fix"、"update"——像是在给代码库下命令。Git 本身也这么做(如 "Revert"、"Merge")。
- 尽量控制在 50 个字符以内;GitHub 会在列表中截断更长的标题。
- 说做了什么,而不是怎么做:写 "add rate limiting",而不是 "add while loop with sleep"。
- Scope 标明涉及的模块:feat(api):、fix(auth):——为每个模块选定一个范围名并重复使用。
正文与脚注
正文说明原因(要解决的问题)以及各种取舍;每行只写一个要点,方便审查 diff。脚注携带机器可读的信息:BREAKING CHANGE: … 以及 Closes #42 这类 issue 引用。如果你的仓库使用了模板(如 PR 模板),请在这里沿用其脚注约定。