为什么git reset commit + git push导致当前分支的提示落后于远程?

时间:2014-02-24 11:22:00

标签: git heroku github git-reset

我想撤消对我的回购的一些小改动。我决定回去两次提交,然后做了

git reset --hard <commit>

git push -f

一切都很顺利。但是当我推送到heroku时,我得到一个关于如何没有推送一些引用的错误,然后这个解释:

更新被拒绝,因为您当前分支的提示落后于其远程对应方。在再次推送之前合并远程更改(例如'git pull')。

每次我回到之前的提交时,我都会找到一个独立的HEAD或远端后面的尖端。这可以防止我推送到git或heroku。为什么?我该如何解决这个问题?要遵循的正确命令列表是什么,以便将来不会造成干扰?

1 个答案:

答案 0 :(得分:2)

我认为heroku不允许你rewrite历史。当您在远程分支上工作时,不应使用resetrebase。使用

git revert HEAD~2..HEAD

将创建2个新提交,恢复最近2次提交的更改。这也可以防止您的同事发生合并冲突。