警告
This document is not updated for ESP32C5 yet, so some of the content may not be correct.
This warning was automatically inserted due to the source file being in the add_warnings_pages list.
为 ESP-IDF 安装 pre-commit 钩子
环境依赖
我们向 IDF 开发人员推荐 Python 3.8.* 及以上版本。
如果你已安装了不兼容的 Python 版本,应在安装 pre-commit 工具前进行更新。
安装 pre-commit
工具
运行 pip install pre-commit
。
安装 pre-commit
钩子
切换到 IDF 项目路径。
运行
pre-commit install --allow-missing-config -t pre-commit -t commit-msg
命令。 使用这种方式安装钩子后,即使在没有.pre-commit-config.yaml
的分支中也能成功提交。在运行
git commit
命令时,pre-commit 钩子会自动运行。
卸载 pre-commit
钩子
运行 pre-commit uninstall
。
更多
更多详细使用方法,请参考 pre-commit 文档。
Windows 用户常见问题
/usr/bin/env: python: Permission denied.
如果使用 Git Bash,请运行
which python
检查 Python 的可执行位置。如果该可执行文件位于
~/AppData/Local/Microsoft/WindowsApps/
,这其实是一个到 Windows 应用商店的链接,而不是真正的可执行文件。请手动安装 Python,并在
PATH
环境变量中进行更新。
你的 USERPROFILE
中包含非 ASCII 字符
如果
pre-commit
的缓存路径包含非 ASCII 字符, 用pre-commit
为特定钩子初始化环境时可能会失败。解决方案是,将PRE_COMMIT_HOME
设置为一个仅包含标准字符的路径,然后再运行 pre-commit。
CMD:
set PRE_COMMIT_HOME=C:\somepath\pre-commit
PowerShell:
$Env:PRE_COMMIT_HOME = "C:\somepath\pre-commit"
git bash:
export PRE_COMMIT_HOME="/c/somepath/pre-commit"