参考https://www.conventionalcommits.org/en/v1.0.0/
1. 提交信息格式
<type>(<optional scope>): <subject>
<optional body>
<optional footer>
Header:必填,描述主要修改类型和内容,对应: <type>(<optional scope>): <subject>
Body:可省略,描述为什么修改,做了什么样的修改,以及开发的思路等,对应:<optional body>
Footer:可省略,BREAKING CHANGE 或 Closes Issues,对应:<optional footer>
2. Header
<type>(<optional scope>): <subject>
type 必需 commit 类别
scope 可选 commit 影响的范围
subject 必需 概要描述
2.1 type
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动,空格,格式化,等等)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
perf: 性能 (提高代码性能的改变)
test:增加测试或者修改测试
chore:对非 src 和 test 目录的修改
revert: 撤销以前的commit
build: 影响构建系统或外部依赖项的更改(maven,gradle,npm 等等)
ci: 对CI配置文件和脚本的更改
2.2 scope
scope:作用域,用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
2.3 subject
subject是 commit 目的的简短描述
(1)以动词开头,使用第一人称现在时,比如change,而不是changed或changes
(2)第一个字母小写
(3)结尾不加句号(.)