使用git clean意外删除了我的所有文件

时间:2018-10-28 09:17:05

标签: git macos terminal

我通过在终端中执行git clean -df命令意外删除了几乎所有文件。有什么办法可以撤销此操作?现在,我计算机中的所有文件都消失了。 谢谢。

3 个答案:

答案 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,然后返回到做之前的状态您不需要的命令。