首页 > 解决方案 > git revert 没有恢复任何东西

问题描述

我正在运行命令

git revert bf0db5abaca25748a85aaf3cffc4154b3a6e045a

,这是一个较早的提交,有重大更改,但它绝对没有做任何事情。输出是

Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

Untracked files:

然后它列出了一堆文件,这些文件确实不应该被跟踪。但是,被跟踪的文件不会被还原。

我对使用 git reset 感到紧张,因为我已经推送了一些我想摆脱的更改。我在还原方面做错了什么?如果它是相关的,我之前已经恢复到相同的提交,然后它工作得很好。

谢谢你。

标签: gitgitlab

解决方案


当恢复提交什么都不做时会发生这种情况。我可以通过执行还原然后尝试“还原”我们刚刚还原的提交来重现它:

$ git log --oneline
e5ce573 (HEAD -> master) Revert "two"
876711f two
0849cb0 one
$ git revert 876711f
On branch master
nothing to commit, working tree clean

什么都没有发生,因为two我们所做的只是还原;再次还原它不会导致任何变化。

所以我猜你也有类似的情况。尝试在您要还原diff的提交之前的提交和您现在所在的位置之间进行一次提交;如果它是空的,这就是原因。


推荐阅读