On this page
How to Use Pre-Commit Hooks
USAGE
First time setup:
pip install pre-commitpre-commit installpre-commit run --all-files # Run on all existing files
Normal usage:
- Hooks run automatically on
git commit - Failed hooks prevent the commit
- Fix issues and commit again
Manual run:
pre-commit run --all-files # All hooks on all filespre-commit run black --all-files # Just Black on all filespre-commit run --files app/main.py # All hooks on specific file
Update hooks:
pre-commit autoupdate # Update to latest versions
Skip hooks (EMERGENCY ONLY):
git commit --no-verifyOr skip specific hook:SKIP=black git commit -m "message"
============================================================================== TROUBLESHOOTING
Hook fails with “command not found”:
- Ensure pre-commit is installed:
pip install pre-commit - Reinstall hooks:
pre-commit install
Hook fails with version mismatch:
- Update pre-commit:
pip install --upgrade pre-commit - Clean cache:
pre-commit clean - Run again:
pre-commit run --all-files
Hooks are slow:
- Use
--filesto run on specific files - Disable expensive hooks during development
- Re-enable before pushing
Want to bypass temporarily:
- Use
--no-verifyflag (not recommended) - Better: Fix the issues