前言
在使用 Git 进行团队开发时,良好的代码提交规范能够在代码迭代、项目交接、问题排查等方面带来巨大的便利和效率提升。而 commitlint 正是一款能够帮助我们实现代码提交规范化的工具。
在本文中,我们将介绍一款 NPM 包,即 @jedwards1211/commitlint-config,它是由 commitlint 的作者之一 Joshua Edwards 开发的、可以快速帮助我们规范化代码提交的配置工具。
安装
我们可以先全局安装 commitlint 和 @jedwards1211/commitlint-config:
npm i -g @commitlint/cli @jedwards1211/commitlint-config
接着在项目的根目录下创建一个 .commitlintrc.js
文件:
module.exports = { extends: ['@jedwards1211'], };
注意,由于这里我们将使用到 @jedwards1211
配置,因此在 extends 中需要引入该配置。
配置
下面我们将详细介绍 @jedwards1211/commitlint-config 的配置项:
types
规定了 commit message 的类型,例如 feat
、fix
、doc
、style
等,会被使用在 message 的开始,以表示这个 commit 的目的。
-- -------------------- ---- ------- -------------- - - ------ - -------- -------- ----- ------- ------ ------- -------- ----------- ------- ------- -- --
scopes
用于描述这个 commit 主要影响到了哪个范围的代码,可以是文件、目录、类、方法等,方便代码阅读和追踪。
-- -------------------- ---- ------- -------------- - - ------- - --- ------- -------- ------------- ------- - --
messages
每个主要部分都对消息内容中的某些信息进行了详细说明。
module.exports = { messages: { 'type-empty': '必须指定 commit 类型', 'scope-empty': '必须指定 commit 影响范围', 'subject-empty': '必须填写 commit 说明', 'header-max-length': 'commit 说明长度不能超过 100 个字符', }, };
在使用中,我们可以针对不同的 scopes 配置不同的 messages,或者同时配置多个 scope 使用同样的 messages。
maxLineLength
规定了 commit message 在提交时的最大长度。
module.exports = { maxLineLength: 100, };
defaultIgnores
默认忽略的 commit 类型和 scopes。
module.exports = { defaultIgnores: true, };
配置了 defaultIgnores 的 commit 类型和 scopes 会被自动忽略。
示例
我们来看下一个示例:
-- -------------------- ---- ------- -------------- - - -------- ------------------ ------ - ------- ------ ------- -------- ----------- ------- ------- --------- -- ------- - --- ------------- -------- -------- ---------- -------- --------- -- --------- - ------------- ----- ------ ---- ---------------- ----- ------ ---- -------------- ----- ------ ------ --------------------- ------- -------- -- ----- -- -------------- --- --------------- ----- --
上述示例定义了七种 commit 类型、六种 scopes、超出 50 个字符会提醒、每行不超过 72 个字符、默认忽略与此相符的 commit 类型和 scopes。
总结
@jedwards1211/commitlint-config 的出现,使得我们的 commit message 规范化更加便利和快捷。在使用过程中,我们不妨参考本文提供的安装和配置流程,来规范化自己的代码提交过程。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedae88b5cbfe1ea0610e64