evilmartians avatar

evilmartians/lefthook

8.9k 322 35
Go MIT
创建于 7 年前 最后更新 1 周前 +2 stars today

AI 综合评分

72 B 级
代码质量
66
文档质量
75
社区健康
69
项目活跃
78
创新性
63

项目简介

一个快速强大的 Git 钩子管理器,支持并行执行,适用于任何项目。

项目摘要

主题

lefthook 是一个用 Go 编写的极速 Git 钩子管理器,旨在解决传统钩子工具慢、配置繁琐的问题,让开发者专注于代码而非等待。

核心分点总结

  1. 极速并行:利用 Go 的并发能力,并行执行钩子脚本,将原本串行的等待时间压缩到极致。

  2. 零依赖轻量:单一二进制文件,无需 Node.js、Python 等运行时,安装即用,不污染项目环境。

  3. 统一配置:通过简单的 YAML 文件定义钩子,支持全局和项目级配置,告别散落的脚本文件。

  4. 跨语言通用:无论你使用 JavaScript、Python、Go 还是 Rust,lefthook 都能无缝管理你的 Git 钩子。

  5. 智能缓存:自动检测文件变更,只对修改过的文件运行相关钩子,进一步提升效率。

行动指南

  1. 如果你厌倦了 husky 的 Node.js 依赖和缓慢的串行执行,立即用 lefthook 替换它,体验秒级钩子运行。

  2. 在 monorepo 或大型项目中,利用 lefthook 的并行执行和文件过滤功能,将 pre-commit 时间从分钟级降至秒级。

  3. 只需 brew install lefthook 或下载二进制,然后在项目根目录添加 lefthook.yml,定义你的钩子命令,即可开始使用。

金句总述

lefthook 让 Git 钩子快如闪电,让开发者的时间回归代码本身。

故事性收尾

曾经,每次 git commit 都要忍受漫长的等待,盯着终端里逐个跳出的脚本,思绪一次次被打断。现在,lefthook 在后台并行处理一切,你刚敲下回车,提交已经完成。流畅的开发节奏终于回来了。

相关项目推荐