我只是想连接到我的GitHub账户。当我这样做的时候,我得到这个错误消息作为一个小红色弹出在页面的右上角:

无法检索项目,内部服务器错误。


当前回答

我看到了之前的答案,但因为我面临着一个问题与评论应用程序(PR应用程序),大多数情况下,你将与不同的分支工作在这种情况下,所以这里有一个解决方案,推动你的东西,而不是(主/主)分支到Heroku。

首先,确保正确设置了远程源

heroku git:remote -a your_awesome_app

你也可以通过git remote -v来确认,你会看到你的原点指向你的Heroku应用程序。

git remote -v

heroku    https://git.heroku.com/your_awesome_app.git (fetch)

这里原名赫鲁。

如果您想从主分支部署更改

git push heroku main

如果你想从特性分支(而不是* main分支)推送你的更改

然后使用下面的命令将你的特征分支推到Heroku

git push heroku feature:main

Heroku -是你的原始名称(用git remote -v确认你的原始名称 Feature -是你当前的分支,而不是主/主分支(用git branch或git状态检查你的分支名称)

其他回答

截至2022年5月25日19:52 UTC, GitHub集成已重新启用:

我们很高兴地报告,GitHub集成已重新启用!您现在可以重新连接GitHub,并使用新生成的令牌恢复您的Heroku管道功能,包括审查应用程序。 您可以立即连接到GitHub,也可以等待本文中描述的增强集成。现在要重新建立您的GitHub连接,请遵循这些说明。

以下是这篇博文中提到的“增强集成”:

为了改善集成的安全模型,我们正在探索与GitHub合作的其他增强功能,其中包括转移到GitHub Apps以获得更细粒度的权限,并启用RFC8705以更好地保护OAuth令牌。由于这些增强功能需要Heroku和GitHub进行更改,我们将随着参与的发展发布更多信息。

没有提到增强集成的可用性的时间表。


在2022年4月15日至5月25日期间,Heroku的GitHub集成功能被禁用,同时Heroku调查了一个安全漏洞。在此期间,仍然可以通过其他方式进行部署,最显著的是通过git push。

为了减轻潜在受损的OAuth令牌的影响,我们将在接下来的几个小时内撤销Heroku GitHub集成的所有现有令牌。我们还禁止创建新的OAuth令牌,直到另行通知。您的GitHub存储库将不会受到此操作的任何影响。

Which Heroku features have become non-operative due to the removal of the Heroku-GitHub integration? Enabling review apps Creating (automatic and manual) review apps Deploying (automatic and manual) review apps Deploying an app from GitHub (either manual or automatic) Heroku CI cannot create new runs (automatically or manually) or see GitHub branch list Heroku Button: unable to create button apps from private repositories ChatOps: unable to deploy or get deploy notifications Any app with a GitHub integration may be affected by this issue. To address specific integration issues, please open a case with Heroku Support

从GitHub部署迁移到Git部署

在2022-04-21 23:53 UTC, Heroku提供了从基于github的部署迁移到基于git的部署的扩展说明:

虽然我们的客户仍然无法通过Heroku仪表板重新连接到GitHub,但我们希望分享之前提供的代码部署方法的补充。有关如何将部署方法从GitHub更改为Heroku Git的说明,请参阅以下帮助文章:如何将部署方法从GitHub切换到Heroku Git,并在GitHub repo中提供所有更改/应用程序代码。

这只是一个暂时的事情,关于这个问题的更多细节在这里。

你可以同时推送到GitHub和Heroku,以获得临时解决方案:

git push -u origin <branch>
git push heroku <branch>

下面是我用在Heroku上的简单工作模式。这是为了帮助那些以前可能没有经历过这种情况的人。我以前用过这个(2014-5),昨晚不得不重新设置。

首先添加Heroku遥控器:

git remote add heroku https://git.heroku.com/YOUR-APP.git

由于GitHub通常是“origin”(git push origin…),这增加了另一个远程目的地,“heroku”(git push heroku…)

git remote

输出:

heroku
origin

我的code/git/pushing模式:

地方发展也是一样的。推送到GitHub,合并,什么都没有改变。 设置你的部署“Heroku git”为@a-chris概述。 要推送到Heroku,只需将正确的分支推送到新添加的“Heroku”远程源。我使用——force选项来排除任何冲突的可能性。除非你之前使用过Heroku Git和分支,否则应该只使用一个分支——通常是“master”。

这将触发一个部署。您可以在仪表板和终端中观看或查看。将新的“heroku”源代码视为一个转储代码以进行推广的目录,而不是一个想要保存历史的存储库等等。在这种特殊模式下的二等公民。

我现在从我的本地终端,而不是自动部署或通过仪表板按钮。如果您的组织规模较大,我建议控制访问。许多开发人员可能没有处理多个目标存储库或捕捉意外推送的经验。

要触发本地推送,请确保您的master(或任何东西)是最新的…注意你的提交哈希!

这将使你能够遵循BR19_so等建议。

对于那些将此集成用于部署目的的人,我建议您在这里使用部署到Heroku GitHub操作:

部署到赫鲁库

这样,您就不必对部署工作流进行重大更改。

我也遇到了同样的情况,正如其他人所说,这是由于Heroku的安全问题。同时,您可以使用Heroku CLI部署您的代码。

所以,在Heroku web仪表板上,选择Heroku Git:

然后用Heroku登录设置Heroku CLI。

最后,如果你的存储库已经存在于GitHub上,你需要通过运行以下命令添加一个新的远程:

heroku git:remote -a your_app_name
git push heroku master

您可以在官方文档中找到关于此解决方案的更多信息。