Skip to content

pre-commit

.pre-commit-config.yaml定义pre-commit的行为

pre-commit sample-config > .pre-commit-config.yaml

生成模板配置文件

pre-commit install

用于在本地仓库中安装Git hooks,会在.git/hooks/目录下创建一个名为pre-commit的hook script,这个脚本会在每次git commit时候触发,执行.pre-commit-config.yaml中定义的检查。 没有配置文件也可以install,但git commit时候不触发任何检查,并提醒没有配置文件。

pre-commit配置文件修改后并不需要更新.git/hooks/pre-commit文件

后者只是一个触发器,会基于配置文件的内容执行

配合flake8

pre-commit会默认从运行命令的当前文件夹里寻找.flake8文件; 如果根目录和submodule都需要,可以通过args: [--config=absoluate_path/.flake8]

配合ruff

pre-commit-config中的args定义是传递给pre-commit使用,是pre-commit的工作流程,不是ruff的配置; 而pyproject.toml中ruff的配置,是配置ruff的运行规则;

Error

[WARNING] Unstaged files detected.