轻松安装基于make的git钩子。
whippet的Python项目详细描述
基本原理
在处理Node.js项目时,我喜欢使用husky设置git钩子的简单性。由于在python生态系统中找不到类似的工具,我决定自己编写一个。在
据我所知,python中没有与npm scripts等效的标准,所以我选择依赖make,这似乎是python世界中组织与项目相关任务的流行方式。在
注
开发遵循我的工作需求,这意味着whippet可能对特性有点轻描淡写。如果你遗漏了什么,尽管提个建议吧。在
使用
安装挂钩
一旦安装了whippet,就可以通过调用希望安装钩子的目录中的whippetexecutable来使用它。Whippet检查该目录(或它的祖先)是否包含.git目录,并提供在其中安装钩子的建议。在
^{pr2}$设置目标
Whippet钩子是检查是否存在与git钩子同名的make目标的脚本。如果存在这样的目标,脚本将执行它。让我们以pre-commit为例。一旦安装了whippet钩子,我们只需将pre-committarget添加到Makefile中,如下所示:
pre-commit: @echo "Whippet says: Woof!"
然后目标将在pre-commit上执行:
$ git commit -m 'Testing whippet' pre-commit Whippet says: Woof! [master d654d33] Bar 1 file changed, 12 insertions(+) create mode 100644 Makefile $
卸载钩子
如果您有足够的资源并想删除whippetgit钩子,请调用whippet,并传递uninstall命令
$ whippet uninstall whippet - Are you sure you want to uninstall hooks in /home/bpp/demo/.git? [Y/n] y
非交互式
为了避免提示,请将--assume-yes参数传递给whippet。这在向Makefile中的初始化目标添加whippet时非常有用。示例:
init: poetry install whippet --assume-yes
- 项目
标签: