我将Visual Studio用于git-stuff。而且我以某种方式丢失了要恢复的更改。
这些是我执行的步骤:
1)使用VS:使用错误的文件“ WrongCommit”进行提交
我注意到提交是错误的,并且我只是想撤消它,所以我的项目再次位于存储库之前,并提供了要提交的更改。
2)使用VS:单击还原:“ RevertCommit”
现在VS中列出了两个提交:“ WrongCommit”和“ RevertCommit”。 并且本地项目突然被重置为“ <错误>提交”状态。因此我丢失了所有更改,但我认为这些更改仍必须包含在“错误提交”中。
然后我找到了答案“ Stackoverflow: Undo a commit and redo”:
$ git reset HEAD~ # (2)
答案表明(据我所知),命令“ [..]撤消提交,并使您提交的更改未登台(因此,它们将显示为“未为提交[。 。] ”。但是我现在没有任何更改要提交。
这是我使用的确切的语句历史记录(Image: Git Commands),您可以看到git甚至说“重置后的未暂存更改”,但这些更改都消失了。
我如何仍可以恢复这些更改?
答案 0 :(得分:0)
运行git reflog ScreenViewer
来查找WrongCommit的提交哈希。假设它是abc123
。然后运行:
git reset abc123 --hard
git reset HEAD~
git status
#modify files if necessary, and then git add the right files and git commit