2012-12-18 77 views
12

我做了几个提交(commit1/2/3),我改变了我的工作目录没有存储。然后我想回到几次提交前。所以,我的git复归commit1 commit2 commit3,但我被告知要提交我的变化(commit4),所以我做到了,然后我做了再次的git复归commit1 commit2 commit3 commit4,但我有一个消息Git恢复失败

error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue | --quit | --abort)"

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

我不太明白发生了什么。我现在应该做什么来使事情恢复?

回答

16

最好用干净的索引和工作树启动还原。
否则,在前一个回复正在进行的同时进行第二次回复(在新提交的顶部)导致出现该错误消息。

既然你仍然在commit 3,你可以:

  • git cherry-pick --quit(其中,从this thread,告诉恢复到离开HEAD独自离开的方式),
  • 检查你的食指和工作树(git状态),
  • 进行任何调整以获得干净状态(如新提交),
  • 然后重新执行git revert

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

不要忘记git reset如果你只是想那些三个提交给忘了(尽管这会使你强制推:git push --force,为了如果其他合作者已经从该分支中​​提取,则使用git revert的方法是更好的方法)