git - 有没有办法在 GitHub 上进行 git pre-push hooks?或者解决方法?

标签 git github githooks

目标:我需要在 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/

相关文章:

git - 有没有办法对项目中的每个文件进行 `git stash` (不仅仅是更改)?

git post-receive hook 和一次推送多个提交

eclipse - 克隆或推送 git 存储库时 Eclipse 中出现“无法打开 git-upload-pack”错误

python - 用于 Ruby 或 Python 的 Git 库?

git - 为什么 git merge 有时会创建一个提交,有时不会?

android - 无法读取所需库的存档或不是有效的 ZIP 文件

git - 在 Windows 上使用 git 管理网站

git - 如何在Tortoisegit中将默认模式 "reset"更改为 "hard"?

git - 在 .gitattributes 中将文件夹标记为二进制文件

Git - 返回到之前的提交,现在想要覆盖前面的提交