库实践-约定式提交 conventional commits

139 阅读1分钟

conventional commits 一种用于给提交信息增加人机可读含义的规范

www.conventional commits.org

是什么

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

commit 的类型

  • feat: 新特性。对应版本的 minor。
  • fix: 修改问题。对应版本的 patch。
  • feat! fix!。! 表示存在破坏性更新。
  • refactor: 代码重构。
  • docs: 文档修改
  • style: 代码格式修改, 注意不是 css 修改
  • test: 测试用例修改
  • chore: 其他修改, 比如构建流程, 依赖管理.

scope: commit 影响的范围, 比如: route, component, utils, build...

subject: commit 的概述, 建议符合 50/72 formatting

body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting

footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接

好处

  • 自动话生产 CHANGELOG。
  • 自动决定语义化版本变更。