Git撤销不起作用

21

我有一个开发分支包含我想要撤销的提交。所以我输入 git revert <commit-hash>

但是它运行后会显示:

$ git revert 165702b305
On branch develop
nothing to commit, working directory clean

这个提交被确定为一个错误的罪魁祸首,我想撤销它,但由于某些原因无法成功。它是否可能已经损坏了?其他答案和搜索都没有帮助。


2
这个提交的所有更改是否已经在其他提交中被还原,并且同样的错误有另一个起源吗? - Netch
你可以尝试以下之前问题的解决方案:(1) https://dev59.com/im855IYBdhLWcg3w1oLa (2) https://dev59.com/E3NA5IYBdhLWcg3whuV_ - enrique-carbonell
这个问题的信息不足以判断发生了什么。也许如果您添加 git log --oneline --graph --decorate 的输出,那可能会有所帮助,但我意识到这个问题已经很旧了。 - TheWarriorNamedFoo
尝试使用 git revert --no-commit 165702b305..HEAD 撤销从 165702b305 到 HEAD 的更改。如果在撤销后您对未暂存的更改感到满意,请提交。 - boh
3个回答

4

我遇到了同样的问题。

使用以下代码片段对我有效:

git revert --no-commit <commit-id> -n HEAD

1
请问您能解释一下上面的命令是做什么的吗?它运行得非常完美。 - LonelySoul

2
以下是更具体的git命令。它将指出还原操作将从HEAD指针(分支当前所在位置)开始,并以提交165702b305结束:
git revert 165702b305..HEAD

-2

我曾经遇到过完全相同的问题,下面的语法对我有效:

git revert -n master~5..master~2

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