误执行git rm -r *后,如何找回丢失的Laravel应用文件?
如何恢复误执行
git rm -r *删除的Laravel文件? 别慌!这种误操作其实有不少补救办法,咱们一步步来处理:
一、如果文件已经提交到Git仓库
这是最幸运的情况,只要这些被删的文件之前执行过git add和git commit,Git就能帮你一键恢复:
- 直接在项目根目录执行:
这个命令会把当前分支最新提交(HEAD指向的版本)里的所有文件还原到工作区,覆盖现在的状态。git checkout HEAD -- . - 如果你想恢复到某个特定的历史提交,也可以把
HEAD换成对应的提交哈希值,比如:
(提交哈希可以用git checkout a1b2c3d -- .git log查看)
二、如果文件还没提交到Git仓库
要是有些文件是刚创建的、还没加入Git版本控制的,那Git本身没法帮你恢复,这时候得靠系统级的恢复工具:
- Windows:如果之前开启了「文件历史记录」,可以直接从备份里恢复;也可以用Recuva这类第三方工具扫描磁盘找回。
- macOS:用Time Machine的备份快照恢复,或者Disk Drill这类工具扫描恢复。
- Linux:可以用
testdisk、photorec这类命令行工具来扫描磁盘分区,找回被删除的文件。
三、Laravel特有的注意事项
恢复完之后,记得检查几个关键文件/目录:
.env文件:这个文件一般不会被提交到Git,要是被删了,得重新配置数据库、APP_KEY等信息,或者从你本地的备份里找回。storage目录:如果里面的日志、缓存文件没被提交,恢复后可能需要重新生成目录结构,比如执行php artisan storage:link重新创建存储软链,确保静态资源访问正常。
下次避免误操作的小技巧
- 执行
git rm这类危险命令前,先加--dry-run参数测试,比如:
这个命令会列出要删除的所有文件,但不会真的执行删除,确认没问题再去掉git rm -r * --dry-run--dry-run执行。
内容的提问来源于stack exchange,提问作者Inertia
相关产品推荐
相关产品推荐

