如果提交的代码格式不正确,是否有可能在Github上拒绝该提交?

7

正如这个答案所提到的,可以在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 是你的 .git/hooks/commit-msg .. 你应该在 commit-msg 中搜索 "$1",它是传递给 commit-msg 的第一个参数。 - rasjani
另外,该正则表达式将通过任何包含 gh-[0-9] 的提交消息..例如,“Oh my gh-0sh!”将通过测试:D - rasjani
2个回答

4

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)

通常情况下,第一行应该符合预定义的格式,但这只是我的个人意见。

3

在客户端上设置 pre-commit 钩子可以解决问题,但这需要提供并使用钩子脚本。 - rasjani
啊哈,@rasjani,有什么关于如何找到一些信息的见解吗? - Bob van Luijt
谢谢大家,我已经更新了问题。有什么想法吗? - Bob van Luijt
1
实际上,我应该说的是“commit-msg”钩子而不是“pre-commit”..我会将其作为答案添加引用。 - rasjani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接