Heroku:应用程序分叉后的 Git 错误

Posted

技术标签:

【中文标题】Heroku:应用程序分叉后的 Git 错误【英文标题】:Heroku: Git error after application fork 【发布时间】:2015-07-08 10:41:14 【问题描述】:

设置:

我在 heroku 上部署了一个 Node.js(MEAN 全栈)应用程序(即 myApp),它运行良好。我使用标准 git push 部署

$ git push heroku master

我想创建应用程序的临时副本并使用 heroku fork 来执行此操作(根据 https://devcenter.heroku.com/articles/fork-app)。

$ heroku fork -a myApp myApp-staging

暂存应用程序也可以正常工作,使用自己的数据库并拥有自己的一组配置变量(预期)。 !!!重要

我还创建了一个新的 git 遥控器

$ git remote add staging git@heroku.com:myApp-staging.git
// repo address taken from "heroku info -a myApp-staging"

问题:

1) 如果我尝试推动生产,即。 “git push heroku master”它 工作正常。

2) 如果我尝试推送到 staging

$ git push staging master

我收到“权限被拒绝(公钥)”。 3)如果我尝试将我的暂存应用程序 git repo 克隆到另一个目录,我会得到一个空的 repo

$ heroku git:clone -a industryhub-staging
// warning: You appear to have cloned an empty repository

我的临时存储库在哪里? Heroku 在我的暂存实例上运行哪个代码?最后 - 我如何推动 staging?

【问题讨论】:

【参考方案1】:

想通了。留给后代。

错误是暂存应用的错误的遥控器。我用

创建了它
$ git remote add staging git@heroku.com:myApp-staging.git

我有

$ git remote -v
heroku  https://git.heroku.com/myApp.git (fetch)
heroku  https://git.heroku.com/myApp.git (push)
staging git@heroku.com:myApp-staging.git (fetch) // wrong
staging git@heroku.com:myApp-staging.git (push)  // wrong

我应该做的

$ git remote add staging https://git.heroku.com/myApp-staging.git // over https

现在我的 git 显示了

$ git remote -v
heroku  https://git.heroku.com/myApp.git (fetch)
heroku  https://git.heroku.com/myApp.git (push)
staging https://git.heroku.com/myApp-staging.git (fetch) // OK
staging https://git.heroku.com/myApp-staging.git (push)  // OK

生活又是美好的!


注意:Heroku 表示 新的 repo 在 fork 应用程序后为空。 https://devcenter.heroku.com/articles/fork-app#forked-app-state

【讨论】:

以上是关于Heroku:应用程序分叉后的 Git 错误的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 应用程序没有使用正确的节点模块

Heroku - Java Maven 项目解聚 - 完成 git push heroku master 后出现应用程序错误

git remote 中的多个应用程序以及如何指定一个应用程序

Django Heroku 应用程序移至新计算机 - git push heroku master 上的错误

如何从 Heroku 应用程序中提取更新的文件?

如何从我的 Heroku 下载 csv 更改