git - 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 感到紧张,因为我已经推送了一些我想摆脱的更改。我在还原方面做错了什么?如果它是相关的,我之前已经恢复到相同的提交,然后它工作得很好。
谢谢你。
解决方案
当恢复提交什么都不做时会发生这种情况。我可以通过执行还原然后尝试“还原”我们刚刚还原的提交来重现它:
$ 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
的提交之前的提交和您现在所在的位置之间进行一次提交;如果它是空的,这就是原因。