You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何通过Git命令行恢复误删的本地未提交目录?

找回未被Git追踪的丢失文件/目录方案

首先得给你提个醒:因为这个目录从来没被Git追踪过,所以git loggit reset这些Git自带命令肯定帮不上忙——Git只care它已经记录在版本库里的内容。得从系统数据恢复的角度入手,下面是一步步的实操建议:

紧急第一步:别再往目标磁盘写东西!

这是最最关键的!如果继续往你丢文件的C盘存东西、装软件,甚至只是正常用系统产生临时文件,都有可能把丢失目录占用的磁盘空间给覆盖掉,到时候神仙也救不回来。建议你现在尽量少用这个电脑,要是能把硬盘拆下来挂到别的机器上当从盘操作就更稳妥。

第二步:用Windows数据恢复工具扫描恢复

看你的路径是Windows系统,给你推荐几个靠谱的本地工具:

  • Recuva:免费又简单,上手快,还能指定扫描.md.py这类你需要的论文和代码文件类型,针对性更强。
  • TestDisk:开源免费的专业工具,不光能恢复文件,还能修复分区表,适合更复杂的删除场景。
  • EaseUS Data Recovery Wizard:有免费版,功能全,支持恢复各种格式的文件,扫描深度够。

⚠️ 注意:安装这些工具的时候,绝对别装在C盘(也就是你丢文件的磁盘),装到D盘或者外接U盘里;找到文件后,也要把恢复的文件存到非原磁盘的位置,避免二次覆盖。

第三步:排查是否是Git危险命令误删

虽然你说目录没被追踪,但像git clean这类命令会删除未追踪的文件/目录,如果不小心执行过,也会导致这种情况。你可以试试执行git reflog看看有没有相关操作记录(不过因为目录没被追踪,大概率没记录,但万一呢)。如果确实是git clean搞的,还是回到第二步用数据恢复工具最有效——Git不会保存未追踪文件的备份。

后续避坑建议

  • 重要的文件别一直裸奔,要么用git add把它们加入Git管理(哪怕建个本地分支专门存也行),要么定期手动备份到外接硬盘或者云盘。
  • 执行git cleangit reset --hard这类危险命令前,一定要仔细看命令提示,最好先加个-n参数预览一下会删什么(比如git clean -n),确认没问题再执行。

内容的提问来源于stack exchange,提问作者naraghi

火山引擎 最新活动