Make 'these four steps before commit' a reflex — it's more reliable than any hook. Hooks get bypassed with --no-verify, this checklist doesn't.
After you finish
Only after all four pass, run git commit. Once it's habit the whole thing takes under a minute — but the mistakes it catches are worth an evening.
git hooks and the pre-commit framework