在对项目作出更改后,我们需要生成 commit 来记录自己的更改。以下是参照 Angular 对 commit 格式的规范:
提交信息包括三个部分:Header
,Body
和 Footer
。
<Header>
<Body>
<Footer>
其中,Header 是必需的,Body 和 Footer 可以省略。
Header 部分只有一行,包括俩个字段:type
(必需)和subject
(必需)。
<type>: <subject>
type
type 用于说明 commit 的类别,可以使用如下类别:
subject
subject 是 commit 目的的简短描述。
Body 部分是对本次 commit 的详细描述,可以分成多行。下面是一个范例。
More detailed explanatory text, if necessary. Wrap it to
about 72 characters or so.
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Use a hanging indent
注意:应该说明代码变动的动机,以及与以前行为的对比。
Footer 部分应该包含:(1)Breaking Changes; (2)关闭 issue;
Breaking Changes:
如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE
开头,后面是对变动的描述、以及变动理由和迁移方法。这种使用较少,了解即可。
Issue 部分:
如果当前提交信息关联了某个 issue,那么可以在 Footer 部分关联这个 issue:
issue #2
fix/fixes/fixed
, close/closes/closed
或者 resolve/resolves/resolved
等关键词,后面再跟上 issue 号,这样就会关闭这个 issue:Closes #1
注意,如果不是提交到默认分支,那么并不能关闭这个 issue,但是在这个 issue 下面会显示相关的信息表示曾经想要关闭这个 issue,当这个分支合并到默认分支时,就可以关闭这个 issue 了。
下面是一个完整的例子:
feat: 添加了分享功能
给每篇文章添加了分享功能
- 添加分享到微信功能
- 添加分享到朋友圈功能
Issue #1, #2
Closes #1