Gitlab 预提交钩子

Rob*_*zki 5 hook pre-commit-hook gitlab

我想在 gitlab 中使用预提交钩子。我在文档中做所有事情:https : //docs.gitlab.com/ce/administration/custom_hooks.html

在 custom_hooks 目录中,我创建了包含以下内容的预提交文件:

#!/bin/bash

exit 1
Run Code Online (Sandbox Code Playgroud)

钩子永远不会被触发,因为我可以提交。

当我对 pre-receive hook 做同样的事情时 - 一切正常。

如果 Gitlab 不允许使用预提交钩子?

Von*_*onC 5

如自定义 Git - Git Hooks 中所述,不会在服务器上使用客户端挂钩。

我之前解释过为什么不能在克隆中包含钩子:

从 GitLab 7.5 开始,您可以为服务器端挂钩设置自定义 Git 挂钩。

Git 本身支持在不同操作上执行的钩子。服务器端 git hooks 的例子包括 pre-receive、post-receive 和 update

通常,Git hooks 放置在存储库或项目的 hooks 目录中。GitLab 创建了从每个项目的 hooks 目录到 gitlab-shell hooks 目录的符号链接,以便于在 gitlab-shell 升级之间进行维护