如何修复我的 git 环境中的预提交消息?

How to fix the pre-commit-msg in my git environment?

有人经历过.git/hooks/pre-commit-msg的奇怪行为吗? 该文件具有适当的执行权限。 实际上它被执行了。问题是提交,任何带有正确或不正确消息的提交,都会使执行进入错误状态。 总是。

正确的消息应该类似于这些示例:

其中 [test]、[fix] 或 [feat] 之后的第一个词是在一组之间选择的(例如 Added、Fixed、Upgraded..)

正在 OSX,使用 git,使用 zsh shell。

#!/bin/bash
#

commit_message=$(cat .git/COMMIT_EDITMSG)
commit_error="Error in the commit message. Prefix with 
JIRA ticket. For example UXD-1234/git-hook"


if [[ ! $commit_message =~ /([A-Z]+[-][\d]+\/\S+)/  ]]; then
  echo >&2 $commit_error
  exit 1
fi

这段代码有错误吗?

提前致谢

所以这是正确答案

^[A-Z]+-[0-9]+/[a-zA-Z]

感谢@jonrsharpe