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

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


当前回答

如果在尝试推送时出现错误,可能是因为开发和部署的分支名称不同。在这种情况下,请遵循下面的说明;

如果你在一个分支上开发,并通过Git进行部署,你必须运行: Git推送heroku <你在>上开发的分支名:<你从>部署的分支名

本文将详细介绍这种行为:

检测到重复的构建版本

其他回答

关于这个问题有一个更新。你现在可以像更新中提到的那样启用GitHub集成。

如果它不起作用,你可以尝试删除应用程序到GitHub的连接(断开连接),然后重新添加连接。再次添加连接也可以在隐身模式下完成,因为有时会出现与cookie相关的问题(此处提到)。

截至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中提供所有更改/应用程序代码。

我看到了之前的答案,但因为我面临着一个问题与评论应用程序(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状态检查你的分支名称)

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

部署到赫鲁库

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

我也有同样的问题。我已经安装了cli。

git remote

输出:

heroku
origin

git remote -v

输出:

heroku  https://git.heroku.com/YOUR-APP.git (fetch)
heroku  https://git.heroku.com/YOUR-APP.git (push)
origin  https://github.com/GitUserName/yourRepo.git (fetch)
origin  https://github.com/GitUserName/yourRepo.git (push)

如果您的分支名为main,请使用Git分支进行验证。例如,你会这样做:

git push heroku main

对我来说是

git push heroku master

现在推动您的本地更改

git push heroku master

输出:

To https://git.heroku.com/YOUR-APP.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://git.heroku.com/YOUR-APP.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我不在乎它和遥控器有什么不同。我一直在本地开发,并没有意识到自动Git部署已经失败了。我关心的是局部的变化:

git push heroku master -f

现在部署的应用程序正按预期工作。