unthreaded / git-hooks

Small, lightweight tool to ensure ticket numbers make it into your Git commit messages
MIT License
0 stars 2 forks source link
git git-hooks hacktoberfest jira

git-hooks

  codecov   GitHub tag (latest SemVer)

What is git-hooks?

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

How do I install?

Visit our releases to download the most recent binary.

Setup a central git hooks directory:

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

If you run into issues

Development details

For Mac, you must install some dependencies via brew. Simply run os_specific_requirements.py and you'll be good to go!

Contributing

How to contribute