使用 Husky Git 钩子在提交前运行脚本
Biao J 一月 03, 2025 #Git #Husky #PrettierGit 钩子可以帮助你在工作流中自动化一些任务,但手动管理它们可能很麻烦。Husky 简化了这一过程,让你可以轻松设置钩子,比如预提交检查。以下是结合 Prettier 实现提交前代码格式化的操作方法。
设置步骤
-
安装 Husky:
npx husky init -
编辑第一步中创建的
.husky/pre-commit文件:prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown git update-index --again
解释:
git diff --cached --name-only --diff-filter=ACMR:列出已暂存的新增、修改、重命名或复制的文件。sed 's| |\\ |g':处理文件名中的空格。prettier --write:使用 Prettier 格式化文件。--ignore-unknown:忽略不支持的文件类型或二进制文件。
这确保了在提交之前格式化已暂存的文件。
测试步骤
- 使用
git add暂存更改。 - 使用
git commit -m "测试"提交。 - Husky 会在提交前自动格式化已暂存的文件。
结果
下面是一个 Husky 钩子使用 Prettier 格式化 JavaScript 文件的示例:

结论
Husky 可以帮助你强制执行代码标准并自动化常规任务,让 Git 工作流更高效,代码库更整洁。试试看吧!