Member-only story
Improve your Development Workflow using global git hooks
8 min readApr 29, 2023
Git hooks are a useful way to automatically highlight/fix issues before you submit your code changes for review. For example git hooks can stop you accidentally including secrets (e.g. passwords) in your commits.
There are different types of git hooks, pre-commit
, commit-msg
, pre-push
…and etc, of which the pre-commit
hooks are arguable the most popular type. These get run whenever a user runs git commit
. A commit gets aborted if a pre-commit
hook exits with a non-zero exit code, although you can bypass that with git commit --no-verify
.
In this article I’m going to set up 2 pre-commit
hooks, they are:
- A hook that prevents me making commits directly on the
master
(ormain
) branch. This hook is useful for me, because sometimes I forget to create a new dev branch before committing my changes. Worse still, sometimes I even ended up pushing code up directly to themain
branch. You can configure github branch protection rules to prevent this from happening, but if you’re the git repo’s admin, then those branch protection rules get ignored. - A hook that prevents me from accidentally including secrets (e.g. passwords) in my commits.