2026-10-18 05:33:22
前端 GitHooks 工程化实践主要依靠 husky、lintstaged、commitizen 和 commitlint 等工具。以下是具体的实践方法:
1. husky 作用:husky 用于管理和同步 git hooks,解决了原生 git hooks 需要手动同步的问题。 实践: 使用 husky install 命令配置 git 的 core.hooksPath,确保每次安装依赖时自动设置 hook。 使用 husky add 命令在 .precommit 钩子中添加自定义脚本,确保每次 commit 操作前执行预先定义的检查。
2. lintstaged 作用:lintstaged 用于预 commit 时自动运行代码格式检查,避免了手动配置。 实践: 配置 lintstaged 后,它会通过 git diff staged 获取暂存区文件列表。 如果检查失败,commit 操作会被中止,确保代码质量。
3. commitizen 作用:commitizen 用于帮助编写规范的 commit 消息。 实践: 使用 commitizen init 初始化 commitizen 交互环境。 用户根据模板输入后,生成符合约定的 commit。 可以自定义 commitizen 适配器,如 czcustomizable,简化规则创建过程。
4. commitlint 作用:commitlint 用于校验 commit 消息,确保提交质量。 实践: 与 commitizen 规则通过配置文件灵活搭配。 弥补 commitizen 在 commit 消息校验方面的不足。
这些工具的组合使用,确保了前端项目中 git 工作流程的自动化和规范化,提高了代码质量和团队协作效率。