ruby-on-rails – Heroku:如何在’git push -f’之后“git pull”

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Heroku:如何在’git push -f’之后“git pull”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试推送到Heroku后,我收到此错误消息(复制如下).我最初设置了一个Facebook画布应用程序,并选择了heroku选项托管.它给了我一个heroku url,我在我的机器上开发的应用程序中添加了一个遥控器
heroku git:remote -a desolate-springs-1684

但是当我推动时,我得到了这个错误

error: Failed to push some refs to 'git@heroku.com:desolate-springs-1684.git'
To prevent you from losing history,non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.
localhost:nhl michaelmitchell$

所以我做了

git push -f heroku master

但现在我显然必须做一个’git pull’.但是,在’git pull’之后我会放什么? heroku url的名字?或者是其他东西?

解决方法

强制你的git推送并不是一个好主意,因为你丢失了你或你工作副本中缺少的其他合作者所做的任何提交.

在推送之前,您应该将上游更改合并或重新绑定到本地工作副本中.

在本地合并更改

$git pull heroku master
$git push heroku master

在本地重新定义更改

$git pull --rebase heroku master
$git push heroku master

顺便说一句,既然你已经推动了你的改变,你实际上不需要做任何其他事情.远程存储库已包含所有更改.

如果无论出于何种原因,$git status命令返回过时的引用,只需运行即可

$git pull heroku

获取所有远程更改.请注意,除非您指定目标分支(或者您启用了跟踪分支),否则git pull将简单地下载(而不是合并)上游更改.

另请注意,Heroku不应被视为git托管.这意味着从Heroku执行git pull非常罕见.相反,您应该使用git托管(例如GitHub或BitBucket)来存储您的存储库,并仅执行推送到Heroku以部署应用程序.

猜你在找的Ruby相关文章