Git hooks is a commit hook that works with git to make sure your issue, ticket, Jira, and story numbers make it to the commit message.
For example:
git checkout -b feature/GH-123-example-branch
...
# stage some work
...
git commit -m "Completed work and unit tests"
...
git log -n 1 --format=oneline
afb126992c7e780939ef9b931f38c2cb0c47f91f (HEAD -> feature/GH-123-example-branch) GH-123: Completed work and unit tests
Notice that the issue number, GH-123, was copied into the commit message.
Our hook can even handle the lack of a ticket:
git checkout -b need-this-yesterday
...
git commit -m "PROD FIX"
...
git log -n 1 --format=oneline
75d23ddd3a9bd613dde8bbe447fb6a45c7af0a3b (HEAD -> need-this-yesterday) NOGH: PROD FIX
Visit our releases to download the most recent binary.
Setup a central git hooks directory:
C:\Users\<you>\.githooks\
cd ~
mkdir .githooks
git config --global core.hooksPath ~/.githooks
In the zip you downloaded from releases, you will find 3 folders:
Copy all files from the zip directory of your respective OS to: ~/.githooks
On Linux & Mac, make the hook executable:
chmod +x ~/.githooks/commit-msg
Lastly, edit this config file to your liking:
~/.githooks/commit-msg-config.ini
--global
or by repository. Check this first.For Mac, you must install some dependencies via brew. Simply run os_specific_requirements.py
and you'll be good to go!