加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 推送Heroku时的Git错误

发布时间:2020-12-16 19:06:47 所属栏目:百科 来源:网络整理
导读:我正在使用Heroku并且有一个稳定的Rails应用程序(生产环境),所以我想创建一些新的东西,我可以有质量保证环境,我可以看到这些更改如何在Heroku上运行(以及聚合增强功能)发布)没有总是推送到我的生产应用程序. 所以我做的是创建一个新的Heroku应用程序,并在本
我正在使用Heroku并且有一个稳定的Rails应用程序(生产环境),所以我想创建一些新的东西,我可以有质量保证环境,我可以看到这些更改如何在Heroku上运行(以及聚合增强功能)发布)没有总是推送到我的生产应用程序.

所以我做的是创建一个新的Heroku应用程序,并在本地(dev)创建一个新的分支.我的目的是在我测试新的Heroku QA应用程序的更改之后将dev合并到本地,然后从我的主分支推送到Heroku生产.

我的方法可能与我的风景很糟糕,我是新手,所以这只是我最好的猜测如何做到这一点.

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

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?谢谢.

解决方法

Heroku应用程序仅运行应用程序存储库的主分支(Heroku本地).如果要将分支部署到Heroku,而Heroku不是本地仓库的主分支,则需要指定它.在你的情况下,它将类似于git push qa-remote dev:master(将qa-remote替换为你的QA应用程序的遥控器的实际名称),这表示将我的本地dev分支推送到qa-remote上的master分支.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读