首页 > 解决方案 > 如何在我的 git 环境中修复 pre-commit-msg?

问题描述

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

正确的消息应该类似于以下示例:

其中 [test] 或 [fix] 或 [feat] 之后的第一个单词是在一组(如已添加、已修复、已升级..)之间选择的

使用 git 和 zsh shell 在 OSX 上工作。

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

这段代码有错误吗?

提前致谢

标签: bashgitshgithookspre-commit

解决方案


所以这里是正确答案

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

感谢@jonrsharpe


推荐阅读