Commitlint是一个检查工具,它根据一组规则检查提交消息,帮助在项目的版本控制和变更日志生成中保持一致性和清晰度。简单地说,如果您的消息没有遵循常规提交消息的适当规则,它将显示错误。
Commitlint是由Husky触发的,Husky是一个管理Git钩子并在提交前自动运行验证脚本的工具。Husky最近有一个主要更新(v9),它弃用了某些命令,因此这篇博客文章可以作为根据新过程安装Commitlint的指南
如何安装Commitlint & Husky
Commitlint
Commitlint的安装保持不变。
首先,我们安装Commitlint CLI和Conventional Commits配置作为开发依赖项:
npm install @commitlint/cli @commitlint/config-conventional --save-dev
然后,我们需要扩展Commitlint的常规配置:
echo “module.exports = { extends: [‘@commitlint/config-conventional’] };” > commitlint.config.js
Husky
现在,Husky的新配置不允许您使用npx Husky安装命令。如果你试图在9.0.0或更高的版本中使用它,你会得到以下错误:
有两种方法可以解决这个问题:
您可以在包中更改Husky的版本。json文件。如果从9.x修改版本号。X到8。然后运行NPM install,弃用的命令将正常工作。
另一种推荐的方法是调整新命令,以便以后在更新依赖项时不会遇到任何问题。
要从9.0.0及以上版本安装Husky,您必须运行以下命令:
npx husky init
安装依赖项后,您必须在.husky文件夹中创建一个commit-msg文件,以便向commit-msg钩子添加提交消息检测。
它可以在一行代码中完成:
echo “npx --no – commitlint --edit $1” > .husky/commit-msg
注意commit-msg文件生成后里面代码不要更改!
现在,在这个阶段,你仍然会碰到一个问题。Husky为您生成了一个文件,如果您遵循与我相同的路径,那么在尝试提交更改时也会产生一些错误:
,或者将其内容更改为使用现有脚本的命令,那么问题就会消失,您就可以自由地使用Commitlint了。
如果你也遇到同样的问题希望我的方法能够帮到你!