21

我想将我的最后 2 个提交压缩为一个, a 也是如此git rebase,以下列方式:

git rebase -i HEAD~2

但由于一个错字,我实际上最终推入原点的是:

git rebase -i HEAD-3

现在,在Github Pull Request中,它显示了其他一些不相关提交的提交。所以基本上,我想删除06674f0不属于我的提交,同时保留fcea5e0这个 PR。

如何解决简单的错字造成的混乱?

4

2 回答 2

58

编辑:检查您的 reflog

git reflog

选择第一次变基之前的提交,并将 x 替换为下面的适当数字:

只需撤消上一次变基并重做即可:

git reset --hard HEAD@{x}
git rebase -i HEAD~2
..
git push -f origin master

删除您的拉取请求并发布一个新请求。

于 2012-04-21T15:19:30.247 回答
0

两者都git reset --hard HEAD{x}git reset --hard HEAD@{x}我不起作用。

无论如何,我想要一个脚本来做到这一点,所以我做了以下事情。

BACK_2_SHA=`git reflog show --pretty=format:'%H' -n x | tail -n 1`
git reset --hard $BACK_2_SHA
于 2017-06-09T08:28:54.533 回答