因为入职至今,公司也没有太规定一个代码提交规范,所以一直以来,我代码提交的commit message
都是简单的一句话说明了本次代码改动内容,有时候会更加精简。
但时间长了之后,当我需要回头找一下某次提交记录的时候,就会发现不太好找,首先没有一个具体的分类,比如是添加功能、还是修复bug、还是更新文档等等;其次就是有一些message
写得不是很清晰,不太能一眼明了那次改动是什么内容。
后来决定,需要重新学一学关于commit message
的写法规范。
Commit Message的好处
- 每一条提交记录的
message
能够提供更多的有效信息,方便我们快速浏览; - 可以使用
git log --grep <keyword>
过滤掉某些commit
,便于快速查找信息; - 可以直接从
commit
生成Change log
。
Commit Message格式
目前Commit Message
规范使用较多的是Angular团队的规范,继而衍生了Conventional Commits sepcification。
Commit Message
包括三个部分:Header
、Body
和Footer
。格式如下:
<type>(<scope>): <subject>
< 空一行 >
<body>
< 空一行 >
<footer>
其中,Header
是必填的,Body
和Footer
可以省略不写。
Header
Header
包含三个部分:type
、scope
和subject
。其中scope
是可选项。
<type>(<scope>): <subject>
# example
feat($route): add support for the `reloadOnUrl` configuration option
type
type
是用于说明commit
的类别,具体的标识如下: