推送被拒绝后的git rebase fixup

时间:2014-11-06 17:49:57

标签: git github rebase

我已经将一个功能分支推送到github,我意识到我想要改变以便压缩一些提交。我跑

git rebase HEAD~5

在我的本地分支上设置除了第一次和最后一次提交以及#34; fixup"之外的所有提交。我保存并退出,并且rebase继续正常。当我试图推动时,我得到了

 error: failed to push some refs to 'git@github.com:username/repo.git'
 hint: Updates were rejected because the tip of your current branch is behind
 hint: its remote counterpart. Integrate the remote changes (e.g.
 hint: 'git pull ...') before pushing again.

有没有办法在没有推-f的情况下做到这一点,还是我唯一的办法?是否有更好的方法来压缩提交?

1 个答案:

答案 0 :(得分:3)

唯一的方法是使用git push -f。您删除的提交(通过用一个被压扁的替换它们)已经在遥控器上。如果没有-f,则只能添加提交,而不能删除/替换它们。

另一方面,如果没有人pull编辑,那就不是问题了。