Visual Studio代码Git“还原提交(通过终端)”删除了我的文件

时间:2019-01-04 19:01:21

标签: git visual-studio-code git-revert

我的Git体验非常有限,在Visual Studio代码上: 我对存储库做了很多更改,然后 我犯了他们(没有推动)。

有一个名为GitLens的视觉工作室扩展: 我右键单击提交,然后单击“(通过终端)还原提交”

这运行了以下命令

-> git revert -e bdb001d91a63c1e898da18c54916a8834579d20b

删除了文件并在提交之前将文件重置为版本。我不希望发生这种情况

有没有办法恢复我已还原的提交? 谢谢

根据这个问题Is there any way to undo the effects of "git revert head"?

我尝试了

-->git reset --hard HEAD^
--> HEAD is now at 1fd24c8 fix folder

--> git revert --abort
--> error: no cherry-pick or revert in progress
--> fatal: revert failed

--> git log -5
commit 1fd24c8c4c4ef95f954e5b6af94ad0dedfbbf5f0 (HEAD -> master, origin/master)
Author: xxxxxxxxxxxxx
Date:   Thu Oct 25 23:24:13 2018 +0200
    fix folder

commit ec426d893f254e88f488be8bb3e2de781dfbc446
Author: xxxxxxxxxx
Date:   Thu Oct 25 23:19:26 2018 +0200
    firstcommit repname

2 个答案:

答案 0 :(得分:2)

即使提交未出现在列表中(撤消提交之后),我仍然能够从Visual Studio代码和gitlens扩展名恢复提交版本

gitlens扩展上有一个用于搜索提交的选项卡,您可以按其ID搜索提交。

然后右键单击提交,然后单击“签出提交”。

答案 1 :(得分:0)

这里不是解决方案,而是一个技巧。只要文件仍然在您的编辑器(如 VSCODE)中打开,您就可以撤消(command-Z/ctrl-Z)并返回到 git reset 之前的状态。当然,这个技巧只有在你保持文件打开的情况下才有效