单击将分支重置为当前提交并丢失了我所有的工作,我到底做了什么?

Clicked reset branch to current commit and lost all my work, what the heck have I done?

我是 Source Tree 的新手,不知道我在做什么,但我希望我没有丢掉我的工作。

我单击了一个将分支重置为当前提交的按钮,然后选择了 "Mixed" 选项。然后我推送了我的文件。但是在回到 UE4(我跟踪的一个程序)之后,我注意到我的文件已经回到了很长时间了。我可以在源代码树的 "Working Copy" 部分看到我拥有的所有文件,但他们都说 "Missing" 并且我太害怕做任何事情因为害怕失去它。我需要有关按什么按钮撤消更改的帮助(CTRL Z 不起作用 :( )

这是我所在位置的一些照片。

如果它显示 "Working Copy" 并且我可以单击 "Open Before" 我希望这些文件仍然存在。

如果可以的话,我该如何让我的文件恢复到我搞砸之前的状态。

如果您在使用重置分支之前提交了更改,则更改不会丢失。

我将使用命令行命令对此进行解释,但我想有高级 GUI 可以实现相同的目的。

打开您选择的可以访问 git 命令的命令行界面,然后导航到项目文件夹

$ cd /path/to/project/root

接下来,检查 git reflog

$ git reflog

874333c HEAD@{0}: reset: moving to 874333c
5dc3401 HEAD@{1}: commit: committed something awesome
4ef6395 HEAD@{2}: commit: fixed bug related to ballistics computation
d5cb3b3 HEAD@{3}: commit: added ballistics computation

你现在要做的是再次重置你的分支,但这次是它之前的状态(即。5dc3401)你重置到它所在的当前状态

$ git reset 5dc3401