使用 Husky Git 钩子在提交前运行脚本

Biao J 一月 03, 2025 #Git #Husky #Prettier

Git 钩子可以帮助你在工作流中自动化一些任务,但手动管理它们可能很麻烦。Husky 简化了这一过程,让你可以轻松设置钩子,比如预提交检查。以下是结合 Prettier 实现提交前代码格式化的操作方法。

设置步骤

  1. 安装 Husky:

    npx husky init
    
  2. 编辑第一步中创建的 .husky/pre-commit 文件:

    prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
    git update-index --again
    

解释:

这确保了在提交之前格式化已暂存的文件。

测试步骤

  1. 使用 git add 暂存更改。
  2. 使用 git commit -m "测试" 提交。
  3. Husky 会在提交前自动格式化已暂存的文件。

结果

下面是一个 Husky 钩子使用 Prettier 格式化 JavaScript 文件的示例:

prettier javascript file
Prettier Javascript file

结论

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