py-githooks
Create git hooks with ease using a simple configuration file in a git project
Install
pip install py-githooks
Usage
- Create a
.githooks.ini
configuration file (If not provided a dummy configuration file will be created). - Add sections based on
git hooks names
followed by acommand
property with the shell code you want to run. - Run either
python -m python_githooks
orgithooks
in your virtual environment.
Configuration file example:
# .githooks.ini
[pre-commit]
command = pytest --cov
[pre-push]
command = pytest --cov && flake8
Removing a hook
If you already created a hook and now want to remove it, just set the command value to empty, like this:
# .githooks.ini
[pre-commit]
command =
This will not actually physically remove the hook from the git local project, just will make it instantly exit with 0
status code.
Unuse
- Running
python -m python_githooks --deactivate
orgithooks --deactivate
will stop shimming git hooks but keep the commands in.git/hooks
- Run
rm .githooks.ini
to remove the configuration file (optional). -
rm .git/hooks/pre-commit
or any other githook to stop them from executing (optional). e.g.rm .git/hooks/*
License
py-githooks is MIT-licensed.