Git撤销--continue卡住无法完成

15

我在项目中使用了 git revert {commithash} 命令来回到之前部署的一个功能。 合并已解决,所有更改都已添加,并且状态为:

分支 develop

您当前正在还原提交 {commithash}。
(所有冲突已解决:运行“git revert --continue”)。

(使用“git revert --abort”取消还原操作)

无需提交,工作树干净

我使用 git revert --continue 命令,但没有任何反应,我仍然处于等待还原状态...... 有人知道出了什么问题吗?谢谢。


你如何知道自己处于“待还原状态”? - Arkadiusz Drabczyk
1
当我执行“git status”时,它会显示我上面提到的消息,同时还说没有要提交的内容,就好像我的原始“git revert {githash}”在还原期间没有正确地删除/重命名/添加文件。 - Bruno Calça
1个回答

16
当你看到“nothing to commit”这个消息时,这意味着在解决冲突时你选择了最新的提交代码。结果是你的还原对代码状态没有任何更改。你尝试执行git revert --continue会无法完成还原。
如果你真的想这样做,你可以使用git commit --allow-empty来提交这个还原,即使它什么也没做。然后你可以使用git revert --abort来终止还原过程。
通常不应该像这个例子一样做出“没有更改”的提交:这意味着你的git revert没有达到任何效果,所以人们会想知道为什么你要这么做。

你是正确的,某种程度上说,原本应该执行实际合并的合并没有合并任何新内容,因此没有要提交和进行的更改。注意到“nothing to commit, working tree clean”是提示出现错误的警告,就像你所说的那样。谢谢! - Bruno Calça
我有完全相同的观察。我认为我设法让我的 repo 处于那种状态,尽管我的还原明确更改了代码,并且我添加了进一步的代码更改(忘记了我正在进行还原)。我使用 "git gui" 提交了这些更改,现在我被困在了这个未完成的还原状态中,并且看到了 "nothing to commit" 的消息。 - Daniel K.
1
@DanielK:你可以随时使用 git resetgit revert --abort 来退出该模式。 - torek

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