Git 我服务器机器上所有存储库通用的挂钩

Git hook common to all repositories on my server machine

如何配置一个 git 服务器端钩子,在每次推送到我的 git 实验室服务器上的任何存储库时 运行s?

我在我的机器上本地托管了 gitlab,我想 运行 一个脚本,当我的任何存储库发生任何更改时。

提前致谢:)

您可以将它们存储在一个地方,并在特定的 .git/hooks 目录中创建符号链接。

ln -s /path/to/myhooks/commit-msg project/.git/hooks/

另请参阅 git help init 中的模板目录,了解如何将挂钩包含到新创建的存储库中。

git(v2.9 及更新版本)支持指定 core.hooksPath
git 挂钩脚本存储的常用位置。

  1. 复制所有 git 钩子脚本到 <path-to-git-hooks-directory>.

  2. 在指向上述目录的 git 存储库的 .git/config 中指定一个 hookspath

    [core]
        hooksPath = <path-to-git-hooks-directory>
    

Specifying core.hooksPath in the global git config (usually located at ~/.gitconfig) will automatically set this common location containing the git hooks for ALL git repositories on the system by default.

更多详情here