小编Mar*_*ngu的帖子

git commit-msg 钩子的正则表达式

我正在尝试为 git commit msg 实现以下结构:

X=Uppercase character
Y=Number 0-9
category=fix, chore, doc, etc...

XXXXY-YYY [category] XXXXX*
Run Code Online (Sandbox Code Playgroud)

这是我的提交消息文件

MSG_FILE=$1
FILE_CONTENT="$(cat $MSG_FILE)"
# Initialize constants here
export REGEX="\D\D\D\D\d-\d\d\d \[(fix|poc|chore|feat|refactor|style|test)\] .*"
export ERROR_MSG="Commit message format must match regex \"${REGEX}\""
if [[ $FILE_CONTENT =~ $REGEX ]]; then
 echo "Nice commit!"
else
  echo "Bad commit \"$FILE_CONTENT\", check format."
 echo $ERROR_MSG
 exit 1
fi
exit 0
Run Code Online (Sandbox Code Playgroud)

但我得到的只是:

    $ git commit -m "PBCL2-666 [fix] whatever"
Bad commit "PBCL2-666 [fix] whatever", check format.
Commit message format must match …
Run Code Online (Sandbox Code Playgroud)

regex git hook commit

6
推荐指数
1
解决办法
8348
查看次数

标签 统计

commit ×1

git ×1

hook ×1

regex ×1