目标:我需要在 GitHub 托管的存储库分支上强制执行预推送钩子(Hook),这些分支有协作者,不幸的是,我找不到一种方法让该钩子(Hook)进入我的协作者和我自己的分支.git/hooks 目录。
我花了时间研究这个问题,并遇到了以下阻碍:
- 没有 GitHub 服务器端 Hook ,因此这不是一个选项。我们不使用 GitHub Enterprise,而是使用托管版本。
- 无法添加 .git/hooks/pre-push,因为 .git 是要跟踪的非法目录。 GitHub 当然不会让你创建该目录,如果你尝试在本地添加它,git 会说这是一个无效路径。
流行的观点希望我:将预推送脚本推出到不同的目录中,并请我的合作者对其进行符号链接(symbolic link)。不!我需要它自动填充。
我比 git 更了解我自己。我如何覆盖保姆保护,以便我可以在这里做我需要做的事情?模板有什么魔力吗?
编辑:或任何其他创意解决方案(服务、集成、网络钩子(Hook),假设它们不需要设置服务器来进行回复!)。
最佳答案
您无法使用 GitHub 来做到这一点。正如您所注意到的,GitHub 没有服务器端 Hook ,因此这是行不通的。对于将脚本放入存储库中并自动为其他用户运行,这将是一个巨大的安全风险,而且显然使用 git 是不可能做到的。
您可以尝试切换到另一个允许服务器端 Hook 的托管解决方案,例如 GitLab .
关于git - 有没有办法在 GitHub 上进行 git pre-push hooks?或者解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40118623/