Git:撤消重写历史?

时间:2012-03-20 12:33:10

标签: git rebase

我遇到以下情况的问题:

  • 将几个提交推送到远程(我们的代码审查系统)
  • 开发人员已在本地重写了历史记录(在rebase期间编辑了一些提交)
  • 尝试再次推送时,codereview不接受它(因为此更改已经通过审核)

如何'重置'-single-提交到此遥控器中的内容?

修改后的提交并不总是HEAD,所以我不能简单地做'git reset --hard HEAD ^&& git pull'。

编辑:

最好将两个版本之间的差异创建为新的提交,但这并不是必需的。

1 个答案:

答案 0 :(得分:3)

使用以下命令检查reflog:

git reflog

然后选择与您选择的提交相对应的HEAD,例如

git reset --hard HEAD@{5}

会将你的分支重置为HEAD指向五个提交前的点。