Your commit-msg hook can read .git/COMMIT_EDITMSG and reject the commit if it doesn't match the regex:
If you’ve ever run git commit without the -m flag, you’ve likely been thrust into a text editor with a curious file open at the top: COMMIT_EDITMSG . While it might seem like a temporary scratchpad, this file is a fundamental component of the Git workflow, serving as the bridge between your raw code changes and a readable project history. What is COMMIT_EDITMSG ? COMMIT-EDITMSG
if echo "$branch_name" | grep -qE '[A-Z]+-[0-9]+'; then ticket=$(echo "$branch_name" | grep -oE '[A-Z]+-[0-9]+') echo "[$ticket] $(cat $commit_msg_file)" > $commit_msg_file fi Your commit-msg hook can read