我想将我的最后两次提交压缩成一个,所以git rebase
也是如此:
git rebase -i HEAD~2
但是由于输入错误,我实际上最终推进原点是:
git rebase -i HEAD-3
现在,在Github Pull Request中,它显示了一些其他无关提交的提交。基本上,我想删除不属于我的提交06674f0
,同时将fcea5e0
保留在此PR中。
如何解决简单拼写造成的混乱?
答案 0 :(得分:29)
编辑:使用
检查您的refloggit reflog
选择第一个rebase之前的提交,并将x替换为下面的适当数字:
只需撤消上一个rebase并重做它:
git reset --hard HEAD@{x}
git rebase -i HEAD~2
..
git push -f origin master
删除您的拉取请求并发出新请求。
答案 1 :(得分: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