我通过在终端中执行git clean -df
命令意外删除了几乎所有文件。有什么办法可以撤销此操作?现在,我计算机中的所有文件都消失了。
谢谢。
答案 0 :(得分:1)
不幸的是,简短的答案ID号。
除非您添加文件或将其提交一次,否则git并不了解它们。正是您使用git clean(来自man git clean
)的意思:
通过递归删除不是的文件来清理工作树 在版本控制下
因此git无法在这里帮助您...
答案 1 :(得分:1)
如果有人遇到相同的问题并使用任何现代IDE(例如PHP Storm或Intelli j等),则这些IDE将本地文件存储在其更改历史记录中。
我使用了git clean -f -d
,未跟踪的文件之一已从代码库中删除,但是我可以通过以下方式恢复它:
转到View menu
的PHP风暴,然后单击recent changes
。
我确信其他IDE只需在Google某个地方就会有相同的更改历史记录日志。
答案 2 :(得分:0)
通常,在git上执行的所有操作都记录在git reflog
中。
然后,您会看到对git执行的每个操作的git标签。
因此,您可以编写该命令,然后执行git reset --hard
git clean
之前添加到命令的#标签。因此,例如,如果您在git commit ...
之前做过git clean ...
(并且git hashtag是#exampl),则在终端中输入:git reset --hard #exampl
,然后返回到做之前的状态您不需要的命令。