正如https://www.sqlite.org/lang_conflict.html回答中所提到的,可以在Github提交中引用一个问题。
是否有可能拒绝提交 这样的格式?
例:
fix gh-12 foo bar
是正确的
foo bar
会出错
更新
几乎在那里,这仍然不起作用......有什么想法吗?
我现在有以下内容:.git/hooks/commit-msg
#!/bin/bash
commit_regex='(gh-[0-9]+|merge)'
error_msg="Aborting commit. Your commit message is missing either a Github Issue ('gh-1111') or 'Merge'."
if ! grep -E "$commit_regex" <<< "$0"; then
echo "$error_msg" >&2
exit 1
fi
答案 0 :(得分:3)
Python版本看起来像这样:
#!/usr/bin/python
import sys
import re
ret = 1
try:
with open(sys.argv[1]) as msg:
res = re.match("^fix gh-[0-9]+.*$", msg.readline())
if res != None:
ret = 0
except:
pass
if (ret != 0):
print("error_msg_goeth_here")
sys.exit(ret)
通常它的第一行应该与预定义的格式相匹配,但这只是我个人的意见。
答案 1 :(得分:0)
您需要设置pre-receive hook,但此功能仅适用于GitHub Enterprise。如果你没有使用GitHub Enterprise,你仍然可以在使用webhooks推送提交时收到通知,但是你不能拒绝这样的推送。
修改强>
当然你可以设置本地钩子 - 见rasjani's answer。