将app推送到heroku时,如何解决非快进更新错误?

时间:2013-07-12 10:58:45

标签: git heroku

在尝试更新heroku中的第一个node.js应用时,我有点困在这里。

该应用程序的初始版本已成功部署,但现在当我尝试部署修改后的应用程序时,它给了我一些问题。这是命令和输出

> git push heroku master
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:....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.

git status命令显示如下:

On branch master
Your branch is ahead of 'origin/master' by 1 commit.

2 个答案:

答案 0 :(得分:5)

在heroku上有意义:

git push -f heroku master

因为您没有将它用作修订系统,而是用作部署者。

答案 1 :(得分:0)

您应该做的显而易见的事情是让您的本地存储库与远程存储库同步。正如错误消息文本所示,这可能就像运行pull:

一样简单
git pull

如果这还不足以解决您的问题,您可能需要在远程分支上重新定义本地工作。如果您只有远程(您的heroku存储库),您可以这样做:

git rebase

完成后,您应该能够在不引入远程存储库冲突的情况下进行推送。

请注意,如果任何本地提交已被推送到任何远程存储库,您通常不希望使用rebase函数。这只会引入一组令人费解的循环变化集。