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