他们是一种还原`git checkout`的方法吗?

时间:2017-10-10 12:31:30

标签: git git-checkout

我错误地做了git checkout -- .

既没有改变也没有隐藏...... 是他们检索我的更改的方法吗?

尝试git reflog更改未反映在其中..

如果我提交或藏匿我知道要检索但是如果没有这样做,那么结帐呢?

我做过的事,

git status

在我注意到一些无用的更改后,我尝试进行checkout更改而不是git checkout -- .

那么可以检索吗?

4 个答案:

答案 0 :(得分:5)

您无法撤消此类操作。 reflog是一个很棒的工具,但只记录refs(branch,tag,HEAD,...)的内容,在这里你没有修改任何ref。

通过输入git checkout -- .,您放弃了所有非暂存更改,因此Git从未意识到这些更改。

您的备份系统是您唯一的希望(使用Git并不意味着也不应该进行备份)。

答案 1 :(得分:1)

如果您使用的是Android Studio,则右键单击鼠标时它具有“本地历史记录”。

Local History Local commit

答案 2 :(得分:0)

通常,我使用Netbeans IDE进行编程,它具有丰富的功能可帮助开发人员

因此它具有名为History的功能,每当您保存文件时,该功能都会存储该文件的所有更改,并将其保存为历史记录。

它还保存了git的所有提交,因此它存储了从将项目添加到netbeans到现在的所有历史记录,

此外,您还可以将文件的历史版本与文件的当前版本进行比较,这是非常有用的功能。

您可以在下图中看到打开的文件下有两个选项

1. 来源(在此处您可以查看和编辑当前文件)

2. 历史记录(您可以在其中查看所有旧版本的文件。)

enter image description here

您可以在Books.php标签下看到我的history文件,这里有git commit列出的所有较旧版本,您可以检查所有文件并将其与当前文件进行比较

因此,如果您错误地完成了git checkout,则可以检查该文件的历史记录,并且可以撤消更改或找回丢失的更改。

答案 3 :(得分:0)

在您的IDE中(如果自那时以来尚未关闭它),请尝试使用undo。对于Visual Studio,撤消是(ctrl + z)。