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

如何通过Git提交记录恢复Mac系统中被误删的所有文件

误删Git提交导致本地/iCloud文件清空恢复步骤
  • 第一时间执行操作:立刻断开Mac的网络连接,暂停所有同步任务,绝对不要向个人文件夹、iCloud同步目录写入任何新文件,不要安装/运行任何清理类、同步类软件,避免被删除的文件磁盘块被新数据覆盖,避免iCloud将本地空目录状态同步到云端抹除云端留存的文件。

Git提交恢复(优先操作,覆盖Git管理的所有文件)

你在VSCode里执行的丢弃提交操作,本质是重置了Git的分支指针,并没有立刻删除Git仓库里存储的提交对象,默认配置下所有提交记录会在本地留存至少30天:

  1. 打开终端,进入出问题的Git仓库根目录
  2. 执行命令查看本地所有操作历史记录:
    git reflog
  3. 在输出的记录里,找到你执行丢弃操作之前最后一次正常状态对应的commit哈希值(一串7位以上的十六进制字符)
  4. 执行命令将仓库恢复到对应状态:
    git reset --hard <你找到的正常状态commit哈希值>

如果执行git reflog看不到历史记录,不要执行git gc、git prune这类仓库清理命令,直接执行git fsck --lost-found,Git会扫描出仓库里所有未被引用的提交、文件对象,存放在仓库.git/lost-found目录下,你可以逐个核对恢复需要的文件。

iCloud文件恢复(覆盖非Git管理的iCloud同步文件)

等Git管理的文件全部恢复完成后,再操作iCloud恢复:

  1. 保持网络断开状态,先确认本地Git恢复的文件已经全部拷贝到非iCloud同步目录做备份
  2. 临时找一台没有登录你当前Apple ID的设备,打开iCloud官网登录你的账号
  3. 先进入「iCloud云盘」-「最近删除」,选中所有被删除的文件点击恢复,最近30天删除的文件默认会在这里留存
  4. 如果最近删除里找不到目标文件,进入账号设置页面,拉到最底部「高级」板块,选择「恢复文件」,这里会留存30天内所有同步过的文件历史版本,勾选需要的文件点击恢复
  5. 等云端所有文件恢复完成后,再打开本地Mac的网络,开启iCloud同步,等待云端文件同步回本地即可。

兜底磁盘恢复(前面操作未找全文件时使用)

  • 如果开通过Time Machine时间机器备份,直接连接备份盘,打开时间机器,进入个人文件夹、iCloud文件夹,选择误操作之前的时间点,全量恢复文件即可,这是成功率最高的兜底方案。
  • 没有Time Machine备份的话,先拿外接移动硬盘,用磁盘工具给当前系统盘做一个只读的磁盘镜像,把镜像存在外接硬盘上,再在镜像上运行数据恢复工具扫描被删除的文件块,优先恢复文档类文件——这类文件体积小,被新数据覆盖的概率远低于大体积视频、安装包。

VSCode误丢弃提交操作步骤截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 18:12:52