Git 还原失败
Posted
技术标签:
【中文标题】Git 还原失败【英文标题】:Git revert failed 【发布时间】:2012-12-05 10:56:30 【问题描述】:我做了几次提交 (commit1/2/3),我更改了我的工作目录而没有存储。然后我想回到几个提交前。于是我git revert commit1 commit2 commit3,但被告知要提交我的更改(commit4),所以我做了,然后我再次git revert commit1 commit2 commit3 commit4,但我有一条消息
错误:樱桃挑选或恢复已经在进行中提示:尝试“git 樱桃挑选(--continue | --quit | --abort)”
当我运行 git branch -va 时,HEAD 指向提交 3。
我不太明白发生了什么。我现在应该怎么做才能恢复原状?
【问题讨论】:
我非常讨厌 git。 【参考方案1】:最好使用干净的索引和工作树来启动还原。 否则,在前一次还原正在进行时进行第二次还原(在新提交之上)会导致该错误消息。
既然你还在commit 3
,你可以:
git cherry-pick --quit
(来自this thread,告诉revert不要打扰HEAD
,让开。),
检查您的索引和工作树(git 状态),
进行任何调整以获得干净的状态(如新的提交),
然后重新做你的git revert
。
(您可以在“Rollback to Previous Commit - Github for MAC (a revert is already in progress)”查看其他选项)
如果您只是想忘记这三个提交,请不要忘记git reset
(尽管这会让您强制推送:git push --force
,以便发布您的该分支的历史记录。如果其他合作者已经退出同样的分支,您使用git revert
的方法更好)
【讨论】:
以上是关于Git 还原失败的主要内容,如果未能解决你的问题,请参考以下文章