Git还原失败了

时间:2012-12-18 09:06:36

标签: git-commit git-revert

我做了几次提交(commit1 / 2/3),我更改了我的工作目录而没有存储。然后我想回去几次提交。所以我git revert commit1 commit2 commit3,但我被告知提交我的更改(commit4),所以我做了,然后我再次做了git revert commit1 commit2 commit3 commit4,但我有一条消息

  

错误:樱桃选择或恢复已经在进行中提示:尝试“git   cherry-pick(--continue | --quit | --abort)“

当我运行git branch -va时,HEAD指向提交3

我不太明白发生了什么。我现在该怎么办才能让事情恢复原状?

1 个答案:

答案 0 :(得分:19)

最好使用干净的索引和工作树启动恢复 否则,在前一个恢复正在进行时执行第二次恢复(在新提交之上)会导致该错误消息。

由于您仍在commit 3,您可以:

  • git cherry-pick --quit(来自this thread,告诉我们单独离开HEAD并离开。),
  • 检查您的索引和工作树(git status),
  • 进行任何调整以获得干净状态(如新提交),
  • 然后重新执行git revert

(您可以在“Rollback to Previous Commit - Github for MAC (a revert is already in progress)”看到其他选项)

如果您只是想忘记这三个提交,请不要​​忘记git reset(尽管这会让您强制推送:git push --force,以便发布该分支的历史记录。如果其他合作者已经从同一个分支中撤出,使用git revert的方法是更好的方法)