专栏首页方球husky 从0到1 (git hooks 工具)

husky 从0到1 (git hooks 工具)

背景

平常开发中使用 eslint prettier 等校验工具时, 希望在提交代码前做一次校验或版本更新触发构建脚本,之类的操作。这是就需要用到 git hook, husky 就是方便我们操作 git hook 的工具。

安装

// 安装包
npm i -D husky
// 开启 git hooks
npx husky install

使用例子

``shell // package.json // 配置执行脚本 { "call": "echo 'Hello World'" }

```shell
// 绑定 hook
npx husky add .husky/pre-commit "yarn call"
// 触发hook
git add *
git commit 'hook test'

触发 commit 之前, 打印了命令信息

.husky/

husky 默认安装在 .husky/ 目录,默认我们的hooks 都安装在该目录下。

如果某些钩子不需要使用,可以直接删除 .huksy/ 下的对应命令

命令

install 安装

husky intall <dir>  

uninstall 卸载

husky uninstall

add 新增 hook

husky add <file> [cmd]

set 设置、修改 hook

husky set <file> [cmd]
// 例如
npx husky set pre-commit check-file

使用方法

指定安装目录

我们可以将husky安装到指定的目录下

npx husky install .config/husky

绕过 hooks

使用 -n/--on-verify 可以跳过 pre-commit commit-msg 钩子

git commit -m "yolo!" --no-verify

共享hooks 配置

可以通过导出配置文件的方式, 复用hooks配置或一次安装多个hook

// hooks.js
module.exports = {
  'pre-commit': 'echo hello'
}

// 安装配置
npm install my-husky-scripts --save-dev

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么 husky 放弃了传统的 JS 配置

    husky想必大家都不陌生。作为前端工程化中一个不可或缺的的工具,它可以向我们的项目中添加git hooks。同时配合lint-staged可以方便的在代码提交...

    前端森林
  • 【Git】:Commit规范 + CHANGELOG生成

    从 git commit 的 message 开始进行规范化(主流:angular 规范),进而可以通过工具(例如:conventional-changelog...

    WEBJ2EE
  • git hook实践心得

    优秀的团队必不可缺少源代码的质量管理,比如eslint、sasslint等代码检测工具,借助git hook能力,我们可以将这些工具无缝地整合到git开发工作流...

    IMWeb前端团队
  • 原生小程序之工程化探索

    习惯用webpack对项目开发工程化,接触小程序后,稍微有点不适应,市面上有taro等优秀的小程序框架可以使用,由于负责项目历史背景,而无法大规模改造,因此只能...

    疯狂的技术宅
  • Angular 工具篇之规范化Git版本管理

    目前很多的项目都已经使用 Git 作为版本控制工具,使用 Git 意味着我们每天都要与 Git Commit Message 打交道。Git Commit Me...

    阿宝哥
  • 受够了!这糟糕的git commit记录

    你是否再也无法忍受随意的风格?每次更新版本都不清楚更新了哪些功能?修复了哪些 bug?溯源的时候非常痛苦?不如试试国际知名项目angular.js的提交规范

    机智的程序员小熊
  • 【技术建设】规范git commit的提交记录(交互式命令行)

    随着项目体积的增加,参与到项目中的同学越来越多,每个人都有自己的打 git log 的习惯:

    心谭博客
  • 让你的git message更加规范

    规范比业务开发搬砖更为重要,没有一个好的编码规范,维护老的代码或者是编写新的代码都非常痛苦

    w候人兮猗
  • 怎样防止同事用 QQ 邮箱提交公司代码?

    事情是这样的,最近组里新建了一个代码仓库来开发一个新的产品,再加上今天北京下大雨很多同事选择在家工作(包括我也是),于是我就选择用自己的个人电脑来工作。

    崔庆才
  • 让你的git message更加规范

    规范比业务开发搬砖更为重要,没有一个好的编码规范,维护老的代码或者是编写新的代码都非常痛苦

    w候人兮猗
  • 花十分钟的时间武装你的代码库

    当我们的代码库有很多人维护时,经常会出现代码风格不一致或者代码质量不过关,提交信息杂乱的情况,当然啦,即使是一个人的代码库,有的时候,自己写代码时不太注意细节,...

    刘小夕
  • 从 0 到 1 搭建一个企业级前端开发规范

    https://juejin.cn/post/6947872709208457253

    @超人
  • 代码完成到上线经历了什么

    前端工程化,是面向公司的代码模块化、系统化、规范化的一个过程,在这个过程中,经过了这个过程,我们才能称得上是“正规军”。

    不作声
  • 开箱即用的代码提交规范

    在团队中代码提交(git commit)会有各种各样的风格,甚至有些人根本没有 commit 规范的概念,所以在我们回头去查找在哪个版本出现问题的时候,就会非常...

    用户4131414
  • 别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

    现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交...

    Erwin
  • 使用 husky 和 lint-staged 来构建你的前端工作流

    ESLint 是一个在前端工具链中被众人熟知的代码检查工具,它能够被开发者灵活的配置,使其能够达到我们提前制定好的代码规范的要求,并且在编码过程中实时检测输入的...

    Originalee
  • Commitizen 从0到1(git commit 规范工具)

    commitizen git commit 格式化工具, 为我们提供标准化的 commit 信息。 帮助我们统一项目commit , 便于信息的回溯或日志的生成...

    copy_left
  • commitlint 从0到1 (git commit 校验工具)

    'https://github.com/conventional-changelog/commitlint/#what-is-commitlint',

    copy_left
  • 你可能已经忽略的git commit规范

    在日常的开发工作中,我们通常使用 git 来管理代码,当我们对代码进行某项改动后,都可以通过 git commit 来对代码进行提交。

    前端森林

扫码关注云+社区

领取腾讯云代金券