🪝 Git’s pre-commit & commit-msg Hooks

From Zero to Your First Hook — The Essential Starting Point