Skip to content

Instantly share code, notes, and snippets.

@singulared
Created June 17, 2021 11:10
Show Gist options
  • Save singulared/471e016b541f16c6e7e755f5d853545e to your computer and use it in GitHub Desktop.
Save singulared/471e016b541f16c6e7e755f5d853545e to your computer and use it in GitHub Desktop.
Git hook for adding branch name into the commit message.
#!/bin/sh
#
# An example hook script to prepare the commit log message.
# Called by "git commit" with the name of the file that has the
# commit message, followed by the description of the commit
# message's source. The hook's purpose is to edit the commit
# message file. If the hook fails with a non-zero status,
# the commit is aborted.
#
# To enable this hook, rename this file to "prepare-commit-msg".
# This hook includes three examples. The first one removes the
# "# Please enter the commit message..." help message.
#
# The second includes the output of "git diff --name-status -r"
# into the message, just before the "git status" output. It is
# commented because it doesn't cope with --amend or with squashed
# commits.
#
# The third example adds a Signed-off-by line to the message, that can
# still be edited. This is rarely a good idea.
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
#
# Automatically adds branch name and branch description to every commit message.
#
NAME=$(git branch | grep '*' | sed 's/* //')
MSG=$(head -n 1 "$COMMIT_MSG_FILE")
if ! echo $MSG | egrep -q "^${NAME}"
then
sed -i "1s/^/${NAME}: /" $COMMIT_MSG_FILE
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment