Skip to content

Small, lightweight tool to ensure ticket numbers make it into your Git commit messages

License

Notifications You must be signed in to change notification settings

unthreaded/git-hooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

  • Windows users can use: 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:

  • Linux
  • Mac
  • Windows

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

  • The hook is not being triggered

    • Check your core.hooksPath - this setting can be --global or by repository. Check this first.
  • The hook is having a runtime error

    • Please submit an issue with the terminal output you received here with as much detail as possible.

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

About

Small, lightweight tool to ensure ticket numbers make it into your Git commit messages

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages