卸载预提交阻止 'git commit' (pipenv)

Uninstalled pre-commit preventing 'git commit' (pipenv)

我最近从我的环境中卸载了预提交。我在 pipenv 中执行了以下操作:

pipenv --rm
<deleted Pipfile and Pipfile.lock>
pipenv install -r requirements.txt 

我确保预提交模块不再在 requirements.txt 中。当我进行 git 提交时,我得到:

~/my_project/.venv/bin/python: No module named pre_commit

这阻止了我提交,我不知道这是从哪里来的,因为没有安装预提交。此外,指定的回溯路径指向 python 而不是 python3。我错过了什么?

您的 git 存储库中仍然安装了 pre-commit 个挂钩。您可以通过简单地删除存储库中的 .git/hooks/pre-commit 来删除它们,之后提交时将不再调用 pre-commit

通常,删除由 pre-commit install 安装的挂钩的方法是调用 pre-commit uninstall——但如果您已从系统中删除 pre-commit,则可以手动删除挂钩脚本

您通常可以通过以下方式找到它们:

grep pre-commit.com .git/hooks/*

因为该标记已列出 in the hook files

您可以从那里删除它们:

grep -l pre-commit.com .git/hooks/* | xargs rm

免责声明:我做了 pre-commit