首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在推送Heroku时出现Git错误

在推送Heroku时出现Git错误
EN

Stack Overflow用户
提问于 2012-06-09 04:43:11
回答 3查看 10.1K关注 0票数 12

我正在使用Heroku,并且有一个稳定的Rails应用程序(生产环境),所以我想创建一些新的东西,在那里我可以有质量保证环境,在那里我可以看到Heroku上的更改将如何工作(以及聚合版本的增强功能),而不是总是推到我的生产应用程序上。

因此,我所做的是创建一个新的Heroku应用程序,并在本地创建一个新的分支(dev)。我的意图是在我的新Heroku QA应用程序上测试更改后,在本地将dev合并到master,然后从master分支推送到Heroku production。

我的方法可能不适合我的环境,我是一个新手,所以这只是我对如何做到这一点的最好猜测。

但当我将我的开发分支推送到我的新QA应用程序时,它可以推送到QA应用程序的开发分支,但不能推送到主应用程序。因此,我无法在新的QA应用程序上看到(和测试)我的更改。它似乎告诉我,我只能将主分支推送到我的QA应用程序的主分支,因为我已经拉了,所有东西都已经是最新的,但我收到了这个错误:

代码语言:javascript
复制
Pushing to git@github.com:foobar/QA.git
To git@github.com:foobar/QA.git
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:foobar/QA.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

有人能帮我找出我做错了什么吗--无论是我的环境还是Git?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-09 05:26:18

Heroku应用程序只在应用程序存储库的主分支上运行(Heroku的本地分支)。如果您想要将一个分支部署到Heroku,而不是本地存储库的主分支,那么您需要指定它。在您的示例中,它应该类似于git push qa-remote dev:master (将qa-remote替换为您的QA应用程序的远程应用的实际名称),即将我的本地开发分支推送到qa-remote上的主分支。

当您第一次像这样推送时,您可能需要添加-f标志来强制推送(非快进)。随后,您应该能够在没有-f标志的情况下推送,只要您的本地分支是最新的。

票数 26
EN

Stack Overflow用户

发布于 2012-06-09 04:48:22

尝试使用-ff (快进)选项进行推送:git push heroku master -ff (将heroku替换为heroku remote的实际名称)。

票数 35
EN

Stack Overflow用户

发布于 2019-04-16 04:00:07

使用以下命令强制推送更新git push -f heroku master

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10955801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档