如何找到连接到heroku实例的github存储库?

时间:2015-12-07 11:34:50

标签: git heroku github

我被要求帮助开发人员失踪的项目,并且几乎没有关于该项目的文档。

“项目托管在heroku上,版本控制系统是GitHub”是产品所有者可以告诉我的。他将我添加到了heroku实例中,所以我可以访问它,但他不知道代码在GitHub上的位置。

问题:有没有办法找出连接到Heroku实例的GitHub存储库是什么,只使用我们在Heroku中的信息?

注意:我确实在heroku的“Activity”选项卡中看到了提交哈希值,但无法访问差异。 heroku-activity-tab

1 个答案:

答案 0 :(得分:2)

根据所有配置的方式,这可能很难。 Heroku和GitHub之间没有固有的依赖关系,Heroku完全不可能知道代码存在于GitHub上。

例如,Heroku和GitHub之间唯一的“连接”可能是其他开发人员的本地环境,其中配置了两个遥控器:

[GitHub] ---.
             \
              }--- [Local dev environment]
             /
[Heroku] ---'

Heroku / GitHub集成

Heroku 也可能了解GitHub。两者之间有可选的集成。

  1. 登录Heroku并选择相关应用程序。
  2. 点击部署标签。
  3. 点击 GitHub 按钮。
  4. 在页面底部附近,您会看到连接到GitHub 部分。

    这将有关于将应用程序连接到GitHub的说明(在这种情况下,集成不存在)或将显示已连接到特定user/repository(其中如果你有答案)。

  5. 解决方法

    如果应用程序未连接到GitHub存储库,则您的选择是有限的。

    最好找到原始存储库(可能通过与之前的开发人员联系,或通过一些调查),但Heroku确实提供了一个在这里很有用的功能。

    使用heroku git:clone -a <app-name>直接从Heroku克隆存储库。注意

      

    Heroku主要为部署提供git服务,并且提供从中克隆的能力是为了方便。我们强烈建议您将代码存储在另一个git存储库(如GitHub)中,并将其视为规范。

    我必须强调,这应该成为您的常规工作流程。在您的位置,我会立即将此代码推送到我选择的云存储库提供程序,并将其用作新的主代码存储库。

    如果您以后发现原始存储库,那么将新存储库与旧存储库进行比较将会很有趣。例如,旧存储库中可能存在功能分支,这些功能分支无法通过变通方法捕获。

    如果其他开发者回来,这将更加重要;您可能希望共享相同的主存储库。