标题即提交信息的第一行。
标题应由至少一个描述符组成。
描述符是 3 个大写字母构成的单词或缩写,每个描述符后跟随一个空格,及其参数,如下表。
描述符名 | 参数 | 参数解释 | 举例 | 更多 |
---|---|---|---|---|
VER |
\<version> |
版本号 | VER 1.1.4 | 描述该提交的版本。对于某些仓库,可使用日期。 |
MRG |
#\<commit id> |
提交 id 前六位 | MEG #514abc | 表明该提交是一次合并。 |
ISS |
#\<issue id> |
issue id | ISS #9 | 该提交关闭一个 issue。 |
描述符后,可以简短地描述这个提交。建议仅在重大更新时使用。建议至多使用 3 个英文单词或 4 个汉字。
举例:Initial
,Typescript Refactor
,Xyz Update
。
内容的应当是至少一个项目组成的。
每个项目的第 1 个字符是操作,如下表。
字符 | 解释 |
---|---|
- |
添加特性 |
x |
删减特性 |
! |
重大特性 |
* |
修改 |
^ |
修复 |
$ |
重构 |
每个项目的第 2 个字符是类型,如下表。
字符 | 解释 |
---|---|
- |
特性 |
? |
文档 |
# |
依赖 |
< |
代码风格 |
> |
命令 |
@ |
GitHub Action |
对于不同项目,有自定义类型:
- exlg
字符 解释 M
模块 H
钩子
每个项目的第 3 个字符是一个空格,随后是描述。
每个项目可以包含子内容。
子内容可以是:子项目或具体描述。
具体描述的第一个字符是描述类型,如下表。
字符 | 解释 |
---|---|
: |
普通说明 |
! |
已确认的 bug 说明 |
& |
参考说明。 |
子内容应当正确缩进,见举例:
-- 添加一个功能。
: 这个功能表现为某某某某。
-- 又一个功能。
*- 改进了某某某某。
-- 可以这样了。
-- 可以那样了。
: 就是那种,很特别的那种。
$- 某某功能改用某某实现了。
-> my-cmd qwq
: 可以这样调用了。
! 但是不能 `qvq`。
^> my-cmd qvq
: 修了个锅。
-< 用空格代替了 tab。
-? 更新了文档
: 在 Wiki 页面
-- 中文
*- English
-# yarn
-- eslint
x- commander