【问题标题】:How to mock a post commit hook in github, for a repo that is not owned如何模拟 github 中的 post commit hook,用于不拥有的 repo
【发布时间】:2013-01-30 15:48:40
【问题描述】:

我想在我不拥有的存储库上启用提交提交挂钩。这可以通过分叉+跟踪来实现吗?还是有另一种方法可以启用监视另一个存储库的提交,以便您自己的存储库可以启用自定义提交后挂钩?

对于上下文:在这种情况下 - 我是一个我没有管理员权限的项目的活跃开发人员,该项目是开源和 github 上的,所以我想要一些自定义的提交后挂钩为我自己而不必强迫管理员安装它们。

我认为 git 跟踪是解决此问题的惯用方式 - 但我不确定 github 在向下级联提交事件时如何工作。

【问题讨论】:

  • post-commit 钩子是客户端的,那你为什么不克隆并设置提交钩子呢?
  • 我以为他们是服务器端的。服务器端的钩子叫什么?
  • 啊哈... post-receive vs post-commit .
  • 无论如何,@CharlesB 您提出的解决方案不会跟踪其他人的提交。
  • 提交是客户端操作。除非您让他们进行设置,否则无法跟踪其他人的本地计算机上发生的事件。在他们推送这些提交之前,您甚至无法知道某人提交了什么。

标签: git github post-commit-hook


【解决方案1】:

对于您想要做的事情,您可以在本地工作目录中添加其他远程存储库: 1° 将您的工作目录链接到官方存储库(这样您将同时拥有原始存储库和官方存储库) $ git remote 添加官方 git@github.com:official/repo 2° 更新您的本地主分支(或其他) $ git fetch 官方 && git 合并官方/master --ff 3°在自己的github账号中推送更改 $ git push origin master

现在,您可以在脚本中自动执行此操作(2°),每次您从 github 收到针对该特定 repo 的邮件时都可以执行该脚本,或者为此创建一个 cron 更容易(使用可选检查只有在干净的目录下才尝试合并)。

自动化的事情只是“获取和合并”的事情,也许你可以继续手动做

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 2020-01-23
    • 1970-01-01
    • 2012-04-01
    • 2022-11-09
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多