Git预提交钩子检查消息

时间:2017-07-31 12:32:31

标签: linux git unix github githooks

我有git commit hook脚本,检查提交输入消息,如果消息不包含单词“updated”,则脚本拒绝提交。

#!/bin/bash
read -p "Enter a commit message: " message

if [[ ${message} != *"updated"* ]];then
  echo "Your commit message must contain the word 'updated'"
  else
  git commit -m "$message"
  fi

如果我尝试用我的本地仓库中的某些文件推送消息,如何使这个钩子自动执行:git commit -m“updated:something”,我的想法是让它不像“运行这个脚本来提交”,但是然后你打开控制台并尝试通过输入commant进行提交,脚本将自动检查你的提交消息并传递或拒绝。

1 个答案:

答案 0 :(得分:3)

commit-msg为例。

#!/bin/bash

MSG="$1"

if ! grep -qE "updated" "$MSG";then
    cat "$MSG"
    echo "Your commit message must contain the word 'updated'"
    exit 1
fi

chmod 755 commit-msg并将其复制为.git/hooks/commit-msg