commit message 规范如下:
|
|
Commit message 规范在 rrd-fe 落地使用情况
针对团队目前使用的情况,我们讨论后拟定了 commit message 每一部分的填写规则。大牛总结的 Git 使用技巧,这篇推荐大家看下。
\1. type
type 为必填项,用于指定 commit 的类型,约定了 feat、fix 两个主要 type,以及 docs、style、build、refactor、revert 五个特殊 type,其余 type 暂不使用。
|
|
当一次改动包括主要 type 与特殊 type 时,统一采用主要 type。Git 的这个神技,学会爽歪歪~这篇推荐阅读。
\2. scope
scope 也为必填项,用于描述改动的范围,格式为项目名/模块名,例如: node-pc/common rrd-h5/activity,而 we-sdk 不需指定模块名。如果一次 commit 修改多个模块,建议拆分成多次 commit,以便更好追踪和维护。
\3. body
body 填写详细描述,主要描述改动之前的情况及修改动机,对于小的修改不作要求,但是重大需求、更新等必须添加 body 来作说明。
\4. break changes
break changes 指明是否产生了破坏性修改,涉及 break changes 的改动必须指明该项,类似版本升级、接口参数减少、接口删除、迁移等。
\5. affect issues
affect issues 指明是否影响了某个问题。例如我们使用 jira 时,我们在 commit message 中可以填写其影响的 JIRA_ID,若要开启该功能需要先打通 jira 与 gitlab。
参考文档:
https://docs.gitlab.com/ee/user/project/integrations/jira.html
扩展阅读
conventional commits 必读 介绍约定式提交标准。
Angular 规范 必读 介绍 Angular 标准每个部分该写什么、该怎么写。
https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines
@commitlint/config-conventional 必读 介绍 commitlint 的校验规则 config-conventional,以及一些常见 passes/fails 情况。
https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional