白小兔的小小站

既然选择了远方,便只顾风雨兼程

0%

Git笔记:撤销rebase操作

Git是开发者需要掌握的基本技能,rebase操作在团队合作开发中,经常会用到。这里主要记录rebase操作提交到远程仓库后,如何进行撤销操作。

背景

通过git rebase -i 进行了一顿操作(合并提交等),然后提交到了远程仓库。此时发现,自己不小心把原本属于别人提交的代码,合并到了自己的提交下(或者把别人的提交合并到了自己名下)。我们希望回滚这些操作,找回曾经的提交记录。

怎么做

1
2
3
4
5
# find head commit
git reflog

# now reset hard - where N is the head commit found in the reflog
git reset --hard HEAD@{N}

执行这两条命令后,就又可以进行一顿操作啦!

相关知识

  1. git rebase -i 怎样显示提交者呢
1
git -c "rebase.instructionFormat=(%an <%ae>) %s" rebase -i COMMIT_HASH 
  1. git checkout –ours(theirs)时怎么确定哪个是ours

    看看文件中,标注了HEAD的部分代表ours