跳到主要内容

Git hooks配置

  • Git hooks 管理工具:lefthook、husky

lefthook​

  • 文档:https://github.com/evilmartians/lefthook
  • Lefthook 是一个 Git hooks 管理工具。
  • lefthook是新一代 Git Hooks 工具、启动快、
  • Lefthook = Husky + lint-staged 的合体,配置更简洁,性能更好
  • 解决传统方案的Husky的痛点

lefthook vs husky​

LefthookHusky
语言Go 编写,单二进制Node.js 编写,npm 包
配置文件lefthook.yml(YAML).husky/ 目录下的 shell 脚本
配置方式声明式,一个文件搞定每个 hook 一个文件
并行执行✅ 原生支持 parallel: true❌ 需要自己处理
匹配文件✅ 内置 glob 过滤❌ 需要配合 lint-staged
性能更快(Go 原生)稍慢(启动 Node)
维护者Evil Martians(开源公司)Typicode(个人开发者)