预提交内置钩子的入口命令

问题描述

我想从命令行运行 pre-commit 包中提供的一些内置钩子,而不是作为钩子,而只是从命令行运行,以根据需要发现干净的文件

例如,如果我想在我的项目中的任意文件上运行黑色,我可以使用 black [directory] 命令运行它。

我在文档中没有看到 trailing-whitespace 等内置钩子的入口命令是什么。

例如,我想通过键入 foo.py 来清除 trailing-whitespace foo.py 中的尾随空格。但是,这不起作用。

人们会怎么做呢?

作为旁注,如果在本地环境中安装预提交的情况下将钩子作为 local 运行,这也应该是可能的。

解决方法

根据您要安装的存储库,您需要pip 在外部安装它,然后运行命令。 您可能不想这样做,因为这违背了框架的目的(它会为您管理安装,因此您不必这样做)。你可能想pre-commit run trailing-whitespace --files ...代替

也就是说,如果您愿意,您仍然可以。对于尾随空白钩子 you mention -- 来自 pre-commit/pre-commit-hooks。如果您查看 the alternate installation instructions,您可以 pip install pre-commit-hooks 然后为此运行可执行文件(您可以从存储库清单的 entry 字段中找到确切的可执行文件名称,在这种情况下:{ {3}})


免责声明:我创建了预提交和预提交/预提交挂钩