You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git中如何恢复误删的被.gitignore规则忽略的文件

被.gitignore忽略的media文件夹误删恢复方案

按优先级从高到低依次尝试以下操作:

  • 排查Git stash记录
    执行git stash list列出所有操作过程中生成的stash条目。默认git stash不会收录被.gitignore忽略的文件,若执行stash时带了-a/--all参数,被忽略的media文件夹会被存入stash。
    找到对应时间点的stash条目后,执行git stash show -p <stash编号,例如stash@{0}>查看内容是否包含media目录下的文件,确认存在后执行git stash apply <对应stash编号>即可恢复文件,确认文件完整后删除无用stash条目即可。
  • 排查Git历史提交记录
    若stash中未找到目标文件,执行git log --all --full-history -- media/检索所有历史提交中是否存在过media文件夹。如果命令返回包含该目录的提交记录,复制对应提交的哈希值,执行git checkout <提交哈希值> -- media/即可将该目录下所有文件从历史提交恢复到当前工作目录,恢复后保持现有.gitignore规则即可,不影响后续版本管理。
  • 本地文件系统恢复
    若以上两种Git层面操作均未找到文件,说明media目录下的文件从未被Git追踪、收录,Git没有留存任何相关数据,无法通过Git命令恢复。此时不要在项目所在磁盘分区写入大量新数据(避免被删除的文件块被新数据覆盖),直接通过系统自带的文件历史、回收站功能,或常规文件恢复工具扫描分区,找回被删除的media目录即可。

常规git checkout -- .、重置HEAD到上一个提交的操作,只会修改Git已追踪的文件,不会主动删除被.gitignore忽略的未追踪文件,本次误删大概率是操作过程中不小心将media目录加入过Git索引,或是执行相关命令时带了清理忽略文件的参数导致。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:54:32