Git hooks explained
Git hooks are shell scripts that trigger when you perform a specific action in Git. They are useful tools for automating checks as you move through your general workflow.
You can trigger Git hooks around specific Git actions. For example, you can set up a Git hook that prevents you from committing if the hook script detects a problem.
Git hooks exist as simple text files in your .git/hooks
directory.
If you just initialized a repo, there will be a .git
folder in your repo with some of the sample Git hooks under the hooks folder. If you do not see this folder, you will need to first make sure you can see hidden folders on your operating system.
Git hooks tutorial video
Watch this short video to learn more about Git hooks. At the end, we’ll show you how Git hooks work in GitKraken.
Git hooks supported by GitKraken
Beneath each hook is a list of the actions during which GitKraken calls that hook:
pre-commit
:- Commit
- Amend
- Merge Resolve
prepare-commit-msg
:- Commit
- Amend
- Cherrypick
- Merge
- Squash
- Revert
commit-msg
:- Commit
- Amend
- Merge Resolve
post-commit
:- Commit
- Amend
- Cherrypick
- Merge Resolve
- Revert
pre-rebase
:- Rebase
- Squash
post-checkout
:- Checkout
- Discard Changes (selectively)
post-merge
:- Merge (Without Conflicts)
- Fast-Forward
post-rewrite
:- Amend
- Squash
- Rebase
pre-push
:- Push Branch
- Push Tag
- Delete Remote Branch
- Delete Remote Tag