Git撤销失败

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。

我不太明白发生了什么。现在我该怎么做才能使事情恢复到之前的状态?


1
我非常讨厌 Git。 - fool4jesus
1个回答

20
最好使用干净的索引和工作树来初始化还原。
否则,在先前的还原仍在进行时进行第二个还原(在新提交之上)会导致出现该错误消息。

由于您仍在提交3,因此您可以:

  • git cherry-pick --quit(从此线程中得知,告诉还原将HEAD保持不变并且离开。),
  • 检查索引和工作树(git状态),
  • 进行任何调整以获得干净的状态(例如新提交),
  • 然后重新执行git revert

(您可以在“回滚到以前的提交-Github for MAC(还原已在进行中)”查看其他选项)

不要忘记 git reset,如果你只是想忘记那三个提交(尽管这会强制你推送:git push --force,以便为该分支发布历史记录。如果其他协作者已经从同一分支拉取,则使用 git revert 是更好的方法)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接