我错误地做了git checkout -- .
。
既没有改变也没有隐藏...... 是他们检索我的更改的方法吗?
尝试git reflog
更改未反映在其中..
如果我提交或藏匿我知道要检索但是如果没有这样做,那么结帐呢?
我做过的事,
git status
在我注意到一些无用的更改后,我尝试进行checkout
更改而不是git checkout -- .
那么可以检索吗?
答案 0 :(得分:5)
您无法撤消此类操作。 reflog是一个很棒的工具,但只记录refs(branch,tag,HEAD,...)的内容,在这里你没有修改任何ref。
通过输入git checkout -- .
,您放弃了所有非暂存更改,因此Git从未意识到这些更改。
您的备份系统是您唯一的希望(使用Git并不意味着也不应该进行备份)。
答案 1 :(得分:1)
答案 2 :(得分:0)
通常,我使用Netbeans
IDE
进行编程,它具有丰富的功能可帮助开发人员
因此它具有名为History
的功能,每当您保存文件时,该功能都会存储该文件的所有更改,并将其保存为历史记录。
它还保存了git的所有提交,因此它存储了从将项目添加到netbeans到现在的所有历史记录,
此外,您还可以将文件的历史版本与文件的当前版本进行比较,这是非常有用的功能。
您可以在下图中看到打开的文件下有两个选项
1. 来源(在此处您可以查看和编辑当前文件)
2. 历史记录(您可以在其中查看所有旧版本的文件。)
您可以在Books.php
标签下看到我的history
文件,这里有git commit列出的所有较旧版本,您可以检查所有文件并将其与当前文件进行比较
因此,如果您错误地完成了git checkout
,则可以检查该文件的历史记录,并且可以撤消更改或找回丢失的更改。
答案 3 :(得分:0)
在您的IDE中(如果自那时以来尚未关闭它),请尝试使用undo。对于Visual Studio,撤消是(ctrl + z)。