简介
在开发过程中,一个合理的Git commit message对于提高开发效率和代码可维护性是非常有帮助的。而@commitlint/config-conventional是一个基于conventional commits规范的npm包,可以帮助我们规范化commit message的格式,提高代码可读性和可维护性。
本篇文章将介绍如何使用@commitlint/config-conventional npm包,规范Git commit message。
安装
使用以下命令安装@commitlint/config-conventional:
npm install --save-dev @commitlint/config-conventional
同时,我们还需要全局安装commitlint:
npm install -g commitlint
配置
创建一个commitlint.config.js文件,添加以下代码来配置@commitlint/config-conventional:
module.exports = { extends: ['@commitlint/config-conventional'] }
使用
当我们提交一条commit message时,commitlint会根据指定的规范进行检查。如果不符合规范,则会出现错误提示。
使用以下命令检查一条commit message:
echo 'feat: add login button' | commitlint
如果符合规范,则会得到类似以下的输出:
⧗ input: feat: add login button ✔ valid commit message
如果不符合规范,则会得到类似以下的输出:
⧗ input: fix: bug ✖ subject may not be empty [subject-empty] ✖ type may not be empty [type-empty] ✖ found 2 problems, 0 warnings ℹ Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint
规则
@commitlint/config-conventional规定了一些常规的commit message规则。下面是一些常见的规则:
- 'build': 主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
- 'ci': 主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
- 'docs': 文档更新
- 'feat': 增加新功能
- 'fix': 修复Bug
- 'perf': 改善性能的提交
- 'refactor': 代码重构
- 'style': 样式修改
- 'test': 测试相关的修改
我们的commit message需要包含type和subject两个信息,同时还可以有scope、body、footer等信息。具体规则可以参考@commitlint/config-conventional的文档。
示例代码
以下是符合规范的一条commit message:
feat(login): add login button
其中“feat”表示增加了新功能,”login”表示该功能是针对登录模块的,”add login button”则表示具体描述。
以下是不符合规范的一条commit message:
fixed a big bug in the login module
该message缺少type和subject两个信息,不符合@commitlint/config-conventional的规范。
结论
@commitlint/config-conventional是一个非常实用的npm包,可以帮助我们规范化Git commit message的格式,提高代码可读性和可维护性。我们可以根据项目的需求,选择不同的type来规范commit message的格式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/89422