Husky 是一个在 Node.js 项目中管理 Git 钩子的流行工具。它让开发者用简单的脚本文件配置提交前、推送前等钩子,常与代码检查、格式化和提交信息校验工具组合,把质量检查自动化到 Git 工作流中。

| 类型 | Git 钩子工具 |
| 作者 | Typicode |
| 运行环境 | Node.js |
| 常见搭配 | 代码检查/格式化/commitlint |
| 许可证 | MIT |
Husky 是一个面向 Node.js 生态的 Git 钩子管理工具,由开发者 Typicode 创建。它让在前端和 Node 项目中配置 Git 钩子变得简单,常用来在提交或推送代码时自动触发代码检查、格式化和提交信息校验。
Git 原生的钩子脚本存放在仓库的隐藏目录中,不会随代码一起被克隆,因此团队难以共享。Husky 通过将钩子目录指向项目内受版本控制的脚本,使钩子配置能够随仓库分发。安装后,开发者只需在对应的钩子脚本里写入要执行的命令,Husky 就会在相应的 Git 事件发生时运行它们。较新的版本大幅简化了配置,直接使用普通 shell 脚本作为钩子文件。
Husky 是前端团队最常用的 Git 钩子方案之一。典型组合是在提交前钩子里对暂存文件运行代码检查与格式化工具,在提交信息钩子里运行 commitlint 校验提交格式,从而把代码风格统一和提交规范前移到本地提交阶段,减少后续评审负担。
问:Husky 和 pre-commit 有什么区别?答:两者都管理 Git 钩子,但 Husky 面向 Node.js 项目、以脚本方式配置;pre-commit 是跨语言框架,以声明式配置并自动管理各钩子的运行环境。
问:钩子只对改动文件生效吗?答:Husky 本身会对整个命令生效,若想只检查暂存文件,需要搭配专门针对暂存内容运行命令的工具。
问:能强制团队成员不跳过钩子吗?答:本地钩子始终可被跳过,可靠做法是在持续集成中再执行相同检查。

| 类型 | Git 钩子工具 |
| 作者 | Typicode |
| 运行环境 | Node.js |
| 常见搭配 | 代码检查/格式化/commitlint |
| 许可证 | MIT |
登录 后参与讨论
暂无讨论,来发表第一条评论吧