Github - 跨组织中所有项目的预提交挂钩

Github - Pre commit hook across all projects in organization

我想在我组织下的所有项目中设置预提交挂钩。我用谷歌搜索,发现我必须为每个项目手动执行此操作。有没有办法在我组织下的所有项目中设置这些挂钩。另外如果我可以在创建新项目时自动添加这些钩子会更有帮助。

GitHub(几乎)只支持客户端挂钩(它们不允许您使用自己的服务器端挂钩)。客户端挂钩,如预提交,是您不仅要为每个存储库配置的东西,而且要为每个用户对该存储库的克隆进行配置。

我说 "almost" 是因为它们还支持 "Protected Branches" 的一些预定义挂钩。您可以使用受保护的分支和自定义状态检查来构建您需要的内容。

如果将所有挂钩放在模板目录中,则可以设置 git 以便它在创建或克隆新存储库时使用这些挂钩。不过仅适用于客户端挂钩。

您可以在使用 git-initgit-clone 时使用 --template=/path/to/templatedir 选项,或者将以下行添加到您的 .gitconfig:

[init]
    templatedir = /path/to/templatedir