如何还原未进行的更改

时间:2018-08-15 06:34:44

标签: git visual-studio commit reset undo

我将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甚至说“重置后的未暂存更改”,但这些更改都消失了。

我如何仍可以恢复这些更改?

1 个答案:

答案 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