什么是约定式提交?
约定式提交规范是一种基于提交消息的轻量级约定。所谓轻量级约定,说白了,就是有一套用于创建提交消息的简单规则,这套规则源自于Angular 提交规范
Commit Message Format
<type>[optional scope]: <description>
[optional body]
[optional footer]
翻译成中文就是:
<类型>[可选 范围]: <描述>
[可选 正文]
[可选 脚注]
每一条提交信息包含header、body、footer。header包含type、scope和description三部分。
header
type
- feat: 新功能
- fix: 修复bug
- docs: 只改动了文档
- style: 修改代码格式(例如去掉空格、改变缩进、增删分号,不影响代码逻辑)
- refactor: 重构代码(非修复bug和增加新功能)
- perf: 提升性能的改动
- test: 添加或修改测试代码(Adding missing or correcting existing tests)
- chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
- revert:回滚到上一个版本
- ci:持续集成
- build:构建版本
scope
代码变更影响的范围
- 名词
- 圆括号包围,例如fix(parser)
description
代码变更的简短描述
body
选填项,相对于上述的description,body用于更加详细的描述本次提交中所做出的修改。其中需要包括:
- 本次修改的动机
- 对比于修改之前的改进之处
footer
footer 部分一般用于记录不兼容的改动,以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。最后还可以添加关闭的 issue。
为什么要用约定式提交?
- 自动化生成 CHANGELOG。
- 基于提交的类型,自动决定语义化的版本变更。
- 向同事、公众与其他利益关系者传达变化的性质。
- 触发构建和部署流程。
- 让人们探索一个更加结构化的提交历史,以便降低对你的项目做出贡献的难度。
如何在项目中规范化地提交?
Commit Message Editor
Commit Message Editor是一款基于VScode可支持文本式和表格式两种提交方式的工具。