git Husky 搭配 commitizen ,规范代码提交_git husky

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

🍳作者 贤蛋大眼萌一名很普通但不想普通的程序媛 \color{#FF0000}{贤蛋 大眼萌 一名很普通但不想普通的程序媛} 贤蛋大眼萌一名很普通但不想普通的程序媛🤳

🙊语录 多一些不为什么的坚持 \color{#0000FF}{多一些不为什么的坚持} 多一些不为什么的坚持

在这里插入图片描述

git Husky 搭配 commitizen 规范代码提交

🪓 什么是 Husky

  • husky 可以帮助我们在 执行 git commit 提交的时候按照eslint 规范进行修复代码。
  • husky是一个git hook工具可以帮助我们触发git提交的各个阶段pre-commit、commit-msg、pre-push 支持所有的Git 钩子

简单说就是在 Git 执行一些操作时在钩子处执行一些自己需要的命令。

⛏ 安装与配置

  1. 执行命令自动配置
npx husky-init && npm install

image-20221023094634513

image-20221023095359178

  1. 把自动生成的 npm run test 改成 npm run lint 或者也可以是你自己自定义的命令。

image-20221023095807751

  1. 测试

测试提交代码看执行的命令行。

git commit 的时候就出发 .husky / pre-commit 文件下我们自定义的命令

image-20221023100309700

💊 git commit 提交规范

image-20221023100400947

这个时候就需要我们使用 Commitizen 来帮助我们规范提交代码。

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

  1. 安装commitizen
npm install commitizen -D
  1. 安装cz-conventional-changelog
npx commitizen init cz-conventional-changelog --save-dev --save-exact
  1. 配置完成

image-20221023102220792

  1. 测试(使用commitizen)
npx cz

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

image-20221023102925773

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代码回退

第二步选择本次修改的范围作用域

image-20221023103131725

第三步 选择提交的信息

image-20221023103237191

第四步提交详细的描述信息

image-20221023103311224

第五步是否是一次重大的更改

image-20221023103337914

第六步是否影响某个open issue

image-20221023103400555

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

🎈 阻止不规范提交

按照cz来规范了提交风格但是依然有小伙伴通过 git commit 按照不规范的格式提交应该怎么办呢

这个时候就可以通过commitlint来限制小伙伴的不规范提交了。

  1. 安装 @commitlint/config-conventional 和 @commitlint/cli
npm i @commitlint/config-conventional @commitlint/cli -D
  1. 在根目录创建commitlint.config.js文件配置commitlint
module.exports = {
  extends: ['@commitlint/config-conventional']
}
  1. 使用husky生成commit-msg文件验证提交信息
npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"

image-20221023113238146

  1. 测试

image-20221023114324294

在日常开发中特别是团队开发养成严谨的代码提交规范十分重要不仅利于自己其他小伙伴的开发也有利于后续代码的维护等等一劳永逸学起来。

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6