Lea*_*cim 6 git ruby-on-rails github heroku
尝试推送到Heroku后,我收到此错误消息(复制如下).我最初设置了一个Facebook画布应用程序,并选择了heroku选项托管.它给了我一个heroku url,我在我的机器上开发的应用程序中添加了一个遥控器
heroku git:remote -a desolate-springs-1684
Run Code Online (Sandbox Code Playgroud)
但是当我推动时,我得到了这个错误
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$
Run Code Online (Sandbox Code Playgroud)
所以我做了
git push -f heroku master
Run Code Online (Sandbox Code Playgroud)
但现在我显然必须做一个'git pull'.但是,在'git pull'之后我会放什么?heroku url的名字?或者是其他东西?
Sim*_*tti 18
强迫你git push不是一个好主意,因为你丢失了你或你工作副本上缺少的其他合作者所做的任何提交.
在推送之前,您应该将上游更改合并或重新绑定到本地工作副本中.
在本地合并更改
$ git pull heroku master
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)
在本地重新定义更改
$ git pull --rebase heroku master
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)
顺便说一句,既然你已经推动了你的改变,你实际上不需要做任何其他事情.远程存储库已包含所有更改.
如果由于某种原因该$ git status命令返回过时的引用,只需运行即可
$ git pull heroku
Run Code Online (Sandbox Code Playgroud)
获取所有远程更改.请注意,除非您指定目标分支(或启用了跟踪分支),git pull否则只需下载(而不是合并)上游更改.
另请注意,Heroku不应被视为git托管.这意味着git pull从Heroku 执行一个非常罕见.相反,您应该使用git托管(例如GitHub或BitBucket)来存储您的存储库,并仅执行推送到Heroku以部署应用程序.