15

我做了几次提交(commit1/2/3),我改变了我的工作目录而没有隐藏。然后我想回到几个提交前。所以我 git revert commit1 commit2 commit3,但我被告知要提交我的更改(commit4),所以我这样做了,然后我再次 git revert commit1 commit2 commit3 commit4,但我有一条消息

错误:cherry-pick 或 revert 已经在进行中提示:尝试“git cherry-pick (--continue | --quit | --abort)”

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

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

4

1 回答 1

20

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

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

  • git cherry-pick --quit(从这个线程中,它告诉 revert 离开HEAD并让开。),
  • 检查您的索引和工作树(git 状态),
  • 进行任何调整以获得干净的状态(如新的提交),
  • 然后重新做你的git revert.

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

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

于 2012-12-19T07:39:18.277 回答