我正在使用 shell 编写一个 git hook 文件,以在提交之前检查我的提交消息。我是一个完全的初学者,这是我尝试过的:
我的commit-msg钩子文件如下所示:
#!/bin/sh
msg=`head -n 1 $1`
if echo $msg | egrep -qv '(Android-\d{3,4}.{20,})'; then
echo "[Message Format] Your message is not formatted correctly. Correct message format\n
#Ticket Number - Minimum 20 or more Character \n
like #Android-123 Bug fixed for login issue"
exit 1;
fi
Run Code Online (Sandbox Code Playgroud)
因此,每当我发出这样的提交消息时:
git commit -m " #Android-123 I pretty sure this is more than 20 character,but it still failed to commit"
Run Code Online (Sandbox Code Playgroud)
所以我很确定我的提交信息超过 20 个字符,还有票号,但每次我提交它仍然得到我设置的错误。
我认为我的逻辑问题是我应该使用if not echo …