java如何禁止不包含某些问题的提交
各位早上好,, 对于github上的Java项目,我必须使用github函数,如“issues”。为此,所有“提交”必须至少包含一个出口。为了防止我的团队做出死胡同,我必须在每次提交前检查。 GitHooks是这项工作的完美工具。仅用于实现与Windows兼容的脚本
在linux环境中,我知道如何中断提交,但不知道如何获取能够检查条件的提交内容
你可以在下面搜索框中键入要查询的问题!
各位早上好,, 对于github上的Java项目,我必须使用github函数,如“issues”。为此,所有“提交”必须至少包含一个出口。为了防止我的团队做出死胡同,我必须在每次提交前检查。 GitHooks是这项工作的完美工具。仅用于实现与Windows兼容的脚本
在linux环境中,我知道如何中断提交,但不知道如何获取能够检查条件的提交内容
# 1 楼答案
一般来说,对于这种情况,Git钩子不是一个好工具,因为用户可以使用
git commit no-verify
(以及各种其他技术)绕过它们。用户系统上的任何内容都不是有效的控件,因为用户可以修改或删除它通常,这种行为是在服务器端完成的。在某些情况下,可以运行
pre-receive
钩子来检查这些内容,但这在GitHub上是不可能的。相反,除了进行其他检查外,还应该在CI系统中检查这一点您可以像这样在shell中编写一个脚本来实现这一点,其中两个参数是pull请求的主分支(通常为
master
)和提交头:这将检查提交消息中的模式
#[0-9]+
,如果不匹配,则退出非零。如果用bash或sh调用这样的脚本,那么它也可以在Windows上运行,因为Windows上所有版本的Git都带有一些shell实现