我按照此处提到的步骤创建了一个自定义git预接收挂钩
https://docs.gitlab.com/ee/administration/custom_hooks.html
它是一个shell脚本,它对提交进行一些分析,如果有任何问题则拒绝它们。然而,它可以有很多积极因素,开发人员不应该觉得它是一个麻烦。那么,即使预接收挂钩失败,他们是否可以强制推送?我试过了
git push --force
但它仍被拒绝。
答案 0 :(得分:0)
推送服务器端挂钩不应该被远程用户覆盖,它们通常用于强制执行各种策略。所以不,--force
或任何选项都不会覆盖它们。
但是,如果远程用户以某种方式请求,则可以使脚本通过推送。它可以基于目标分支,提交消息或一些其他信息来决定。还有一种直接的方法可以在push command-line
指定选项git push --push-option = ...命令行中给出的推送选项数可以从环境变量GIT_PUSH_OPTION_COUNT中读取,选项本身可以在GIT_PUSH_OPTION_0,GIT_PUSH_OPTION_1中找到,......如果是协商不使用推送选项阶段,环境变量将不会被设置。如果客户端选择使用推送选项,但不传输任何选项,则count变量将设置为零,GIT_PUSH_OPTION_COUNT = 0。