Git commit hook - How to use the commit-msg hook t

2019-04-13 21:01发布

I need to make a commit-msg hook to check if the commit message contains "app.asana" in any part of this. I searched some references and documentation and I know I need to use the commit-msg for this. I have to make this using Perl or Bash.

Does anybody has a clue about this or somewhere I can look more examples to learn how to do it??

Thank you.

标签: git perl bash hook
1条回答
Evening l夕情丶
2楼-- · 2019-04-13 21:46

I found an answer to my question. In case it may help somebody...

I just created a commit-msg file in .git/hooks containing

#!/bin/sh

test -n "$(grep 'app.asana.com/' ${1})" || {
        echo >&2 "ERROR: Commit message is missing Asana's task link.\n\nPlease append the Asana's task link relative to this commit into the commit message."
        exit 1
}

Each user needs to have a commit-msg file inside .git/hooks. Then, as a solution, I added commit-msg to the project folder (so I can pull this) with another file called commit-msg-hook.sh containing:

#!/bin/sh

cp commit-msg .git/hooks/commit-msg
chmod +x .git/hooks/commit-msg
echo "\nThe commit-msg hook was added to git hooks"

I welcome any advice to improve what I've done. Thanks.

查看更多
登录 后发表回答