入门使用
安装并配置
安装 commitlint
和 config-conventional
。
在根目录下新建commitlint.config.js
配置。
本地校验
安装 husky
并初始化,接着添加 .husky/commit-msg
hooks 并写入 npx --no -- commitlint --edit \$1
。
也可以在 package.json
中添加脚本"commitlint": "commitlint --edit"
测试失败案例。
GitHub Actions 校验
GitHub Actions 工作流如何验证拉取请求中的最后一个提交消息或所有提交消息的示例:
下面来看看config-conventional 配置是如何定义的:
上面是config-conventional的默认规则,我们可以在 commitlint.config.js
配置文件中覆盖这些规则:
commitlint工作原理
简单阅读了一遍husky和commitlint的源码,大概的执行过程是这样的,如图所示:
如果上面这张图看不太懂,这没关系,但你至少要看懂下面这张图:
上面我们阐述了git hooks, husky 和 commitlint的工作流程, 理解husky的工作原理非常重要, 后面还会用到它,请大家务必理解。
扩展阅读