推荐网址 Conventional Commits
1 2 3 4 5 6 <type >(<optional scope>): <subject> [optional body] [optional footer(s)]
1 feat(utils/sheetjs) : 新增XX函数和XX接口
Type 必填的,用于表示当前提交的意图,使用以下的一项:
1 2 3 4 5 6 7 8 9 10 11 feat: 引入功能 fix: 修复问题 build: 涉及构建系统的改动 docs: 只涉及文档的改动 refactor: 代码重构,不涉及问题修复和功能引入 perf: 性能优化 style: 修改代码风格,不影响代码含义;(空格, 格式化, 缺少分号 等) test: 添加测试 或 修复测试 ci: 修复CI配置和脚本 revert: 回滚之前的提交 chore: 构建过程、工具库的修改;(文档生成工具)
Scope 可选的,用于描述改动的范围。
1 2 通常,复杂的项目会被拆分成子目录、包、子模块等组织单元,这些单元可以作为Scpoe的内容; 一些简单的项目可能没有拆分成多个单元,这时可以不填写scope;
Subject 必填的,用于简洁地描述改动,
1 2 3 使用祈使句,现在时;"change" not "changed" nor "changes" 首字母不需要大写 结尾不需要加符号(.)
Body 可选的,用于补充描述改动,和Subject间隔一行;
1 2 3 应当包含修改的原因,关注修改前后的行为差别; 可以描述你对于改动的考虑因素(改动带来的副作用、代码中的坑) 不用描述修改了什么文件;
可选的,用于描述Breaking Changes、 需求/BUG相关的信息;
1 2 3 4 5 6 7 8 9 10 和Subject/Body间隔一行; Breaking changes 如果改动不兼容之前的版本,可以使用 BREAKING CHANGE: 标记这是一个Breaking Changes. 比如: BREAKING CHANGE: refactor to use new APIs, all legacy APIs will be deprecated. Referencing issues Footer也可以使用Implements描述实现了某个需求,可以使用Closes描述修复了某个BUG; 可以在关键词之后补充需求/BUG的标题或链接;比如: Closes #123, #456 Implements #543