Git:将一个不同的变更集推送到heroku

时间:2012-04-09 00:27:19

标签: git heroku changeset

我想推送我的存储库的先前版本。如何将以前的变更集推送到heroku?

类似的东西:

  

git push heroku 07226c49428354b09349ec45078122ce7c​​d410c8

谢谢!

编辑:一些试验

git branch -a产生

master
remotes/heroku/master
remotes/origin/HEAD -> origin/master
remotes/origin/master

尝试类似

的内容
git push heroku 07226c49428354b09349ec45078122ce7cd410c8:master

告诉我:

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.

我猜这是因为我当前的heroku部署是HEAD,并且因为我想部署先前的变更集,所以git会抛出错误。所以我重新创建新的heroku堆栈(删除当前的heroku,删除它的引用,并创建一个新的heroku雪松堆栈),并尝试再次推送特定的变更集。这一次,在空的heroku部署中,我得到:

  

错误:无法推送到不合格的目的地:master   destination refspec既不匹配遥控器上的现有引用也不匹配   以refs /开头,我们无法猜测基于的前缀   来源参考错误:无法将某些引用推送到   'git@heroku.com:空瀑布8460.git'

如何在没有任何这些问题的情况下推出不同的变更集?或者每次从特定变更集开始创建分支,重新创建heroku堆栈并推送该分支?

1 个答案:

答案 0 :(得分:0)

git push heroku 07226c49428354b09349ec45078122ce7cd410c8:master

您可能希望为此提交创建分支或标记,以供将来参考。

编辑:我认为应该是:

git push -f heroku 07226c49428354b09349ec45078122ce7cd410c8:master

解决了第一个错误。我不确定你重新创建堆栈后发生了什么。