Python 工程下使用 Git 钩子
1. 安装 pre-commit 钩子
pre-commit 是一个 Python 编写的工具,可以在各种项目中管理和维护多个 Git 钩子(除了 Python 项目,各种项目都可以使用)。
下面安装 pre-commit
:
pip install pre-commit
或者使用 pipx
安装,这也是推荐的安装方式:
pipx install pre-commit
可以使用 Homebrew 安装:
brew install pre-commit
2. 快速开始
pre-commit
的使用非常简单,只需要在项目根目录下创建一个 .pre-commit-config.yaml
文件,然后在其中指定需要运行的钩子即可。
你可以使用 pre-commit sample-config
生成一个基本配置。
下面示例使用 black
格式化项目代码:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 22.10.0
hooks:
- id: black
通过 官方文档:hooks 查看所有可用的钩子。
下面安装钩子:
pre-commit install
在进行任何更改时,都可以运行钩子:
pre-commit run --all-files
还有一些代码格式化工具,如
ruff
也提供了pre-commit
钩子ruff-pre-commit
。