3

我需要制作一个 commit-msg 挂钩来检查提交消息是否在其中的任何部分包含“app.asana”。我搜索了一些参考资料和文档,我知道我需要为此使用 commit-msg。我必须使用 Perl 或 Bash 来实现。

有没有人对此有任何线索,或者我可以在某个地方查看更多示例来学习如何做到这一点?

谢谢你。

4

1 回答 1

9

我找到了我的问题的答案。万一它可以帮助某人...

我刚刚创建了一个包含的commit-msg文件.git/hooks

#!/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
}

每个用户都需要有一个commit-msg文件在里面.git/hooks。然后,作为解决方案,我将commit-msg另一个名为commit-msg-hook.sh包含的文件添加到项目文件夹(以便我可以提取它):

#!/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"

我欢迎任何建议来改进我所做的事情。谢谢。

于 2013-10-10T03:47:05.680 回答