背景
在前端开发过程中,我们经常需要进行代码版本控制。为了维持代码的高质量,从 commit message 到代码质量,我们需要严格遵守一定的规范。而 commitlint 就是为此而生的一个工具。commitlint 可以检查我们的 commit message 是否符合规范,并在不符合的情况下阻止代码的提交,以此保证项目的质量和可读性。
commitlint-config-faithlife 是一款 node.js 的插件,它是基于 commitlint 的规则集之一。该插件提供了一些规则来检查 commit message 是否符合常见的现代开发标准。使用该插件可以规范我们的 commit message,提高团队协作效率,减少潜在问题和不必要的风险。
安装
使用 npm 安装 commitlint 和 commitlint-config-faithlife:
npm install --save-dev @commitlint/cli @commitlint/core commitlint-config-faithlife
配置
在根目录下新建 commitlint.config.js
文件,然后在文件中添加如下代码:
module.exports = { extends: ['faithlife'] };
使用
在使用前,先要绑定 git 的 commit-msg 钩子,通过下面的命令完成:
echo "npx --no-install commitlint --edit $1" > .git/hooks/commit-msg chmod +x .git/hooks/commit-msg
这里简要说明下使用 commitlint
的流程:
1.先通过 npm run commit
命令(自定义命令)来代替 git commit
,输入 commit message。
2.然后会根据 commit message 触发 commit-msg
钩子,@commitlint/cli 会检查 commit message 是否符合配置文件中的规则集。
3.如果检查通过,则 commit message 会被正常提交。如果未通过则会阻止提交,并显示相应的错误提示信息。
示例
接下来展示一个简单的示例:
- 在
package.json
中定义"commit": "npx --no-install git-cz"
,以后使用npm run commit
来代替git commit
命令。
"scripts": { "test": "echo 'Error: no test specified' && exit 1", "commit": "npx --no-install git-cz" },
- 执行如下命令启用 hook:
echo "npx --no-install commitlint --edit $1" > .git/hooks/commit-msg && chmod +x .git/hooks/commit-msg
- 编写一个 commit message,包括 type 和 scope:
feat(webpack): add webpack configuration
- 最后执行 npm 命令代替 git 命令提交 commit:
npm run commit
- @commitlint/cli 会检查 commit message 是否符合配置文件中的规则集,如果符合正常提交,否则会阻止提交,并显示相应的错误提示信息。
结语
commitlint 是一个非常方便的工具,能够规范我们的 commit message,提高团队协作效率,减少潜在问题和不必要的风险。使用 commitlint-config-faithlife 更是能够提供一些现代规范以及检查错误的功能,从而更好地管理代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671cc30d0927023822848