无法检索到项,内部服务器错误。
无法检索到项,内部服务器错误。
我们很高兴地宣布GitHub集成已重新启用!您现在可以使用新生成的令牌重新连接GitHub,并恢复Heroku管道功能(包括Review Apps)。
您可以立即连接到GitHub,或者按照这篇博客文章中描述的增强集成等待。要立即重新建立您的GitHub连接,请按照这些说明。
以下是有关“增强集成”的博客文章中的内容:
为了改进集成的安全模型,我们正在与GitHub合作探索其他增强功能,其中包括转移至GitHub Apps以获得更细粒度的权限,并启用RFC8705以更好地保护OAuth令牌。由于这些增强功能需要Heroku和GitHub共同进行更改,因此随着参与的发展,我们将发布更多信息。
没有提及增强集成的可用性时间表。
git push
。heroku git:clone -a 应用名称
命令时,它告诉我 "warning: You appear to have cloned an empty repository."(警告:你似乎克隆了一个空的代码库) - Bus42heroku git:remote -a <name-of-app>
添加远程主机,然后才能使用 git push heroku main
进行部署,并使用 heroku logs -a <name-of-app>
验证部署。说实话,我不记得从哪里得到了尝试从 Heroku 克隆的想法——可能是从已删除的注释中得到的。我必须说,我在 Heroku 上遇到了比 Firebase 或 Vercel 更多的安全和登录问题。 - Bus42Updates were rejected because a pushed branch tip is behind its remote counterpart
。据我所见,由于基础分支的更改(即 rebase 的原因...),推送被拒绝,因为基础分支也应该推送到 Heroku 上(而不仅仅是 Github),然后我们可以使用 git push heroku <branch-to-deploy>:main -f
再次推送当前分支。 - Malka P这是由于他们状态门户报告的问题,在此处。
目前的解决方案是使用另一种推送策略。
目前最好的方法是使用Heroku CLI中的远程(remote)。操作步骤如下:
有关安装和设置的更多信息可以在此处获取。
heroku login
命令进行登录。您将在默认浏览器窗口中收到提示,以完成在Heroku Portal上的登录。
运行heroku git:remote -a example-app
- 用您的应用程序名称替换“example-app”。
git remote -v
检查是否已成功设置远程。您应该看到类似于以下内容的响应:
heroku https://git.heroku.com/your-app-name.git (fetch)
heroku https://git.heroku.com/your-app-name.git (push)
heroku
远程地址git push heroku 你的分支名称
本答案的参考资料来自这里,如果需要更多信息,请参考该链接。
error: src refspec origin does not match any
,则应使用以下命令:git push heroku
。 - Aliheroku login -i
- michael_vons然后使用heroku login
命令设置Heroku CLI。
最后,如果您的代码库已经存在于GitHub上,您需要运行以下命令添加新的远程:
heroku git:remote -a your_app_name
git push heroku master
这只是一个临时的问题,关于此问题的更多细节请参见这里。
您可以同时将代码推送到 GitHub 和 Heroku,以获得临时解决方案:
git push -u origin <branch>
git push heroku <branch>
-u
。[-u
/ --set-upstream
]设置上游分支,这样你就可以执行像git push
和git pull
这样的操作而不需要指定远程。如果你对main
运行这些操作,你只会来回切换。 - Chris我看到之前的回答了,但是由于我在审查应用(PR 应用程序)方面遇到了问题,大多数情况下你会与不同的分支一起工作,所以这里提供了一种解决方案,可以将除主分支之外的东西推送到 Heroku。
首先确保你的远程源设置正确
heroku git:remote -a your_awesome_app
你也可以通过运行 git remote -v
命令进行确认,你应该会看到你的 origin 指向你的 Heroku 应用。
git remote -v
heroku https://git.heroku.com/your_awesome_app.git (fetch)
这里的origin名称是heroku
。
如果您想要从main分支部署更改
git push heroku main
如果你想要将你的更改从特性分支(非主分支*main)推送到Heroku
那么请使用以下命令将你的特性分支推送到Heroku:
git push heroku feature:main
heroku
- 是您的源名称(使用git remote -v
确认您的源名称)feature
- 是您当前的分支,不同于主分支main/master(使用git branch
或git status
检查您的分支名称)我有同样的问题。我已经安装了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
现在部署的应用程序正在按预期工作。
本文详细介绍了以下行为:If you are developing on a branch and deploying via Git you must run:
git push heroku <branchname you're developing on>:<branch you're deploying from>
以下是我在Heroku上使用的简单工作模式。这旨在帮助那些之前没有经历过此过程的人。我之前曾使用过它(2014-5),昨晚又不得不重新设置它以进行推送。
首先添加Heroku远程:
git remote add heroku https://git.heroku.com/YOUR-APP.git
git remote
输出:
heroku
origin
我的代码/git/pushing模式:
--force
选项来消除任何冲突可能性。除非您之前一直在使用 Heroku Git 和分支,否则通常只会有一个分支 - 一般使用 "master" 分支。这将触发部署。您可以在仪表板上和终端中查看或审核。把新的 "heroku" 源视为一个目录来转储代码,而不是保留历史记录等存储库。在这个特定的模式中,它是一个二等公民。
现在我从本地终端推送,而不是通过自动部署或仪表板按钮。如果您的组织很大,我建议控制访问权限。许多开发人员可能没有经验来处理多个目标存储库或捕捉意外推送。
要触发本地推送,请确保您的主分支(或其他分支)已更新...监视您的提交哈希值!
这将为您提供关注诸如BR19_so和其他人的建议的设置。
Henrique Aron的回答适用于本地机器。
对于远程SSH服务器,您将面临一个IP不匹配错误。
要解决这个问题:
登录Heroku网站
进入帐户设置
在面板中显示API密钥
在服务器CLI中,键入heroku login -i
输入电子邮件,使用API密钥作为密码,然后您可以按照Git远程推送的其余步骤进行操作