Skip to content

Instantly share code, notes, and snippets.

@Sonare
Forked from l0ser140/prepare-commit-msg
Last active November 13, 2022 22:29
Show Gist options
  • Save Sonare/14bff0bf734eda0ec207db53a01f813b to your computer and use it in GitHub Desktop.
Save Sonare/14bff0bf734eda0ec207db53a01f813b to your computer and use it in GitHub Desktop.
Git hook adds JIRA issue to commit text if found it in branch name
  • make sure the folder(s) ~/.git_template/hooks exists
  • drop this file in there and make sure it’s named prepare-commit-msg
  • make ~/.git_template/hooks/prepare-commit-msg executable. (chmod +x)
  • make sure your ~/.gitconfig contains
[init]
templatedir = ~/.git_template
#!/bin/sh
#
# git prepare-commit-msg hook for automatically prepending an issue key
# from the start of the current branch name to commit messages.
# check if commit is merge commit or a commit ammend
if [ $2 = "merge" ] || [ $2 = "commit" ]; then
exit
fi
ISSUE_KEY=`git rev-parse --abbrev-ref HEAD | grep -o "[A-Z0-9]\+-[0-9]\+"`
if [ $? -ne 0 ]; then
# no issue key in branch, use the default message
exit
fi
# issue key matched from branch prefix, prepend to commit message
grep "^[A-Z0-9]\+-[0-9]\+" $1 > /dev/null || sed -i -e "1s/^/$ISSUE_KEY /" $1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment