git hook工具——husky和eslint(自己总结)

本文介绍了如何使用Husky和Commitizen工具来自动化和规范化Git提交过程。通过Husky,可以在预提交、提交消息和预推送阶段设置钩子,执行如lint这样的检查。同时,Commitizen帮助编写符合规范的commit消息,提供了一种选择commit类型(如feat、fix等)的交互方式,使得提交信息更加结构化和易于理解。此外,文章还提到了如何配置和使用这两个工具。
摘要由CSDN通过智能技术生成
  • husky是一个git hook工具,可以帮助我们触发git提交的各个阶段:pre-commit、commit-msg、pre-push

如何使用husky呢?

这里我们可以使用自动配置命令:

npx husky-init && npm install

这里会做三件事:

1.安装husky相关的依赖:

2.在项目目录下创建 .husky 文件夹:npx huksy install

 3.在package.json中添加一个脚本:

 接下来,我们需要去完成一个操作:在进行commit时,执行lint脚本:

 这个时候我们执行git commit的时候会自动对代码进行lint校验。

git commit规范

通常我们的git commit会按照统一的风格来提交,这样可以快速定位每次提交的内容,方便之后对版本进行控制。

 但是如果每次手动来编写这些是比较麻烦的事情,我们可以使用一个工具:Commitizen

Commitizen 是一个帮助我们编写规范 commit message 的工具;

1.安装Commitizen

npm install commitizen -D

2.安装cz-conventional-changelog,并且初始化cz-conventional-changelog:

npx commitizen init cz-conventional-changelog --save-dev --save-exact

这个命令会帮助我们安装cz-conventional-changelog:

并且在package.json中进行配置:


"devDependencies": {
 "cz-conventional-changelog": "^2.1.0"
},
"config": {
  "commitizen": {
    "path": "./node_modules/cz-conventional-changelog"
  }
}

这个时候我们提交代码需要使用 npx cz

  • 第一步是选择type,本次更新的类型

  • Type作用
    feat新增特性 (feature)
    fix修复 Bug(bug fix)
    docs修改文档 (documentation)
    style代码格式修改(white-space, formatting, missing semi colons, etc)
    refactor代码重构(refactor)
    perf改善性能(A code change that improves performance)
    test测试(when adding missing tests)
    build变更项目构建或外部依赖(例如 scopes: webpack、gulp、npm 等)
    ci更改持续集成软件的配置文件和 package 中的 scripts 命令,例如 scopes: Travis, Circle 等
    chore变更构建流程或辅助工具(比如更改测试环境)
    revert代码回退

我们也可以在scripts中构建一个命令来执行 cz:  

 以后我们提交代码需要使用 npx cz 改为npm run commit

根据提供的引用内容,"husky - commit-msg hook exited with code 1 (error)" 是一个错误消息,它表示在执行 "commit-msg" 钩子时出现了错误。这通常是由于提交消息不符合预定义的规则或格式所导致的。 为了解决这个问题,你可以尝试以下几个步骤: 1. 检查提交消息的格式:首先,你需要确保你的提交消息符合预定义的规则和格式。通常,提交消息应该包含一个简短的描述和一个更详细的说明。你可以参考项目的提交消息指南或规范来了解正确的提交消息格式。 2. 检查 "commit-msg" 钩子脚本:"commit-msg" 钩子是一个自定义的脚本,用于在提交消息被保存之前进行验证或修改。你可以检查该钩子脚本是否存在错误或逻辑问题。确保脚本能够正确地执行验证并返回正确的退出代码。 3. 检查 husky 配置:husky 是一个用于管理 Git 钩子的工具。你可以检查 husky 的配置文件,确保 "commit-msg" 钩子被正确地配置和启用。如果配置有误,你可以尝试重新配置或更新 husky。 4. 检查 Git 配置:最后,你可以检查 Git 的全局或项目级配置,确保没有其他配置或钩子脚本与 "commit-msg" 钩子冲突或干扰。你可以使用 `git config --global --list` 命令来查看全局配置,使用 `git config --local --list` 命令来查看项目级配置。 如果以上步骤都没有解决问题,你可以尝试搜索相关错误消息或在项目的文档或社区中寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值