在进行软件开发时,我们经常需要管理代码的提交记录。为了让提交记录更加规范和易于管理,我们可以使用 commitlint 工具来规范代码提交信息。
@commitlint/message 是 commitlint 工具的一部分,它是一个 npm 包,可以用来校验代码提交信息的格式。本文将为大家介绍如何使用 @commitlint/message 包。
安装
使用 npm 安装 @commitlint/message:
npm install @commitlint/message --save-dev
配置
在使用 @commitlint/message 之前,我们需要对其进行一些配置。
- 在项目根目录中创建 commitlint.config.js 文件,并在其中定义校验规则:
module.exports = { rules: { 'header-max-length': [2, 'always', 72], 'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', 'revert']], 'subject-empty': [2, 'never'], 'subject-max-length': [2, 'always', 50], }, };
上述配置中包含以下校验规则:
- header-max-length:限制提交信息的标题长度不大于 72 个字符
- type-enum:规定提交信息的类型为以下之一:feat、fix、docs、style、refactor、test、chore、revert
- subject-empty:不允许提交信息的标题为空
- subject-max-length:限制提交信息的标题长度不大于 50 个字符
- 在 package.json 文件中添加以下配置:
-- -------------------- ---- ------- - ---------- - ------------ ----------- -- ----------------- -- -------- - -------- - ------------- ---- --- ---------- - - -
上述配置中,我们在 package.json 文件中定义了一个名为 commitmsg 的 npm 脚本,用于校验提交信息。同时在 husky 配置中,我们定义了一个 commit-msg 钩子来执行 commitmsg 脚本。
使用
在使用 @commitlint/message 校验代码提交信息时,我们需要按照以下格式来书写提交信息:
<type>[optional scope]: <description> [optional body] [optional footer(s)]
其中各项含义如下:
- type:提交信息的类型,如 feat、fix、docs 等
- scope(可选):提交信息的作用域
- description:提交信息的描述,是一个简明扼要的语句,描述了这个提交所做的事情
- body(可选):提交信息的详情说明
- footer(可选):提交信息的其它信息,如关联的 issue、BC 版本号等
例如,下面是一条合法的 commit message:
feat(index): add homepage feature - add main banner - add new footer Closes #123
接下来,我们可以使用以下命令来校验代码提交信息:
git commit -m "feat(index): add homepage feature" # 提交信息符合规范,不会出错
如果不符合规范,@commitlint/message 会给出相应的错误提示。例如:
-- -------------------- ---- ------- --- ------ -- ---- -------- -------- - ------------- - ------- - ------ --- -------- ------- - ------- --- --- -- ----- --------------- - ---- --- --- -- ----- ------------ - ---- ---- -- --- -- ------ ---- ----- ------ --------- ----- ------ ------- ----------- - ----- - --------- - --------
从这个校验错误信息中,我们可以看出,这条提交信息不符合规范,因为它缺少了 type 和 subject。
总结
通过本文的介绍,我们了解到了 @commitlint/message npm 包的使用方法。它能够帮助我们规范代码提交信息,提高我们的团队协作效率。关键在于记住写好提交信息,并遵循一定的规则。
在实际开发中,我们可以根据自身需求,进一步定义自己的校验规则,从而使代码提交信息更加规范化和统一化。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/199043