我需要制作一个 commit-msg 挂钩来检查提交消息是否在其中的任何部分包含“app.asana”。我搜索了一些参考资料和文档,我知道我需要为此使用 commit-msg。我必须使用 Perl 或 Bash 来实现。
有没有人对此有任何线索,或者我可以在某个地方查看更多示例来学习如何做到这一点?
谢谢你。
我找到了我的问题的答案。万一它可以帮助某人...
我刚刚创建了一个包含的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"
我欢迎任何建议来改进我所做的事情。谢谢。