【发布时间】:2018-02-28 21:53:12
【问题描述】:
我想在我组织下的所有项目中设置预提交挂钩。我用谷歌搜索,发现我必须为每个项目手动执行此操作。有没有办法在我的组织下的所有项目中设置这些挂钩。另外,如果我可以在创建新项目时自动添加这些钩子会更有帮助。
【问题讨论】:
标签: git github pre-commit-hook
我想在我组织下的所有项目中设置预提交挂钩。我用谷歌搜索,发现我必须为每个项目手动执行此操作。有没有办法在我的组织下的所有项目中设置这些挂钩。另外,如果我可以在创建新项目时自动添加这些钩子会更有帮助。
【问题讨论】:
标签: git github pre-commit-hook
如果您将所有挂钩放在模板目录中,您可以设置 git 以便在创建或克隆新存储库时使用这些挂钩。但仅适用于客户端挂钩。
您可以在使用git-init 或git-clone 时使用--template=/path/to/templatedir 选项,或者将以下行添加到您的.gitconfig:
[init]
templatedir = /path/to/templatedir
【讨论】:
GitHub(几乎)只支持客户端钩子(它们不允许您使用自己的服务器端钩子)。客户端挂钩(如预提交)不仅要为每个 repo 配置,还要为每个用户对该 repo 的克隆进行配置。
当我说“几乎”时,是因为它们还支持一些用于“受保护分支”的预定义挂钩。您也许可以使用受保护的分支和自定义状态检查来构建您需要的内容。
【讨论】: