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

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

git reset --hard <commit>

git push -f

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

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

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

最佳答案 我认为heroku不允许你重写历史.当您在远程分支上工作时,不应使用重置或rebase.通过使用

git revert HEAD~2..HEAD

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

点赞