新版husky8.0配合commitlint,规范我们的git的提交记录

文章目录

    • 安装
    • 配置
      • 第一步:初始化husky
      • 第二步:添加git提交的hook
      • 第三步:在项目根目录新建配置文件`commitlint.config.js`
    • 验证一下
    • 附1:git commit完整的规范
    • 附2:commitlint.config.js配置文件配置项解释

网上介绍新版husky的文章太少了,这里记录一下本人在使用新版husky8.0的整个过程,希望对大家有所帮助!
本人使用的版本信息如下:

"husky": "^8.0.1",
"@commitlint/cli": "^17.0.1"
"@commitlint/config-conventional": "^17.0.0"

NODEJS版本为v17.3.0

安装

最简单的,只需要这三个东西就行了

npm install --save-dev husky @commitlint/cli @commitlint/config-conventional

网上其他文章,把很多杂七杂八的依赖包搅在一起,没有实际的意义

配置

配置也很简单!

第一步:初始化husky

npx husky install

第二步:添加git提交的hook

npx husky add .husky/commit-msg 'npx --no -- commitlint --edit $1'

第三步:在项目根目录新建配置文件commitlint.config.js

内容如下:

module.exports = {
    extends: ['@commitlint/config-conventional'],
    rules: {
      'type-case': [2, 'always', ['lower-case', 'upper-case']],
      'type-enum': [2, 'always',['feat', 'fix', 'docs','style','refactor','perf','test', 'chore', 'revert']]
    }
  }

至此,所有的配置就完成了

验证一下

输入

git commit -m "错误测试"

git返回

✖   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

husky - commit-msg hook exited with code 1 (error)

可以看见,规范已经生效了,这个"错误测试"没提供typesubject


最后再补充两个附加信息,提交信息和配置文件的解释,用的时候来我这篇文章查一查就行了哦~

附1:git commit完整的规范

提交格式:

(): 

1. type 为必填项,用于指定 commit 的类型

  • build : 更改构建系统和外部依赖项(如将 gulp 改为 webpack,更新某个 npm 包)
  • ci : 对 CI 配置文件和脚本的更改
  • docs : 仅仅修改文档说明
  • feat : 增加一个新特性
  • fix : 修复一个 bug
  • perf : 更改代码以提高性能
  • refactor : 代码重构时使用
  • style : 不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
  • test : 增加新的测试功能或更改原有的测试模块
  • 还支持其他自定义类型:在配置文件新增即可

2. scope 为非必填项,用于描述改动的影响范围
scope可以是文件名,也可以是模块名,由自己定

3. subject 是必填项,代表此次提交的日志信息

附2:commitlint.config.js配置文件配置项解释

这里大家就参考其官方链接吧: commitlint配置文件官方原文
后续有空,我再给大家分享这些配置的中文介绍,放心,不会放大家鸽子的!

觉得有用,还请点赞收藏!
励志前端,CSDN唯一账号!关注我,带你了解更多前端知识!

你可能感兴趣的:(git,javascript,github)