执行git rm -rf后如何恢复文件?Mac已尝试git reset等操作
Git误删文件恢复方案(Mac系统)
先通过Git对象库恢复(你执行过
git add,文件已被Git暂存,会在Git对象数据库留下记录):- 执行命令查找所有未被引用的文件对象:
git fsck --lost-found
该命令会把找到的丢失文件对象存入项目目录下的.git/lost-found/other文件夹。 - 查看并导出这些对象:
- 单个查看内容:
cat .git/lost-found/other/<blob-id>(将<blob-id>替换为文件夹里的文件名) - 批量导出到临时目录方便查看:
mkdir -p recovered_files for blob in .git/lost-found/other/*; do git show $blob > recovered_files/$(git rev-parse $blob) done
recovered_files目录,根据文件内容重命名为原文件名即可。 - 单个查看内容:
- 执行命令查找所有未被引用的文件对象:
试试Mac系统自带的Time Machine:
打开Time Machine,定位到你的项目文件夹,回到执行git rm -rf之前的时间节点,选择需要恢复的文件完成恢复。检查VSCode本地历史:
在项目目录中,右键点击被删除文件原所在位置,选择「显示本地历史记录」(Show Local History),里面保存了VSCode自动记录的文件版本,找到对应版本即可恢复。
内容的提问来源于stack exchange,提问作者PGCL
相关产品推荐
相关产品推荐

