Git提交前误删已编辑文件,恢复后为初始版本如何找回编辑内容?
Git提交前误删编辑内容的恢复方案
Git仅会存储已执行git add暂存或git commit提交的文件快照,未被Git追踪的本地编辑内容需通过编辑器或系统层面的缓存恢复,具体方案按操作场景区分:
场景A:误删前已执行过git add <目标文件>
Git数据库中已留存你编辑后版本的快照,可通过以下步骤找回:
- 执行
git fsck --lost-found扫描Git仓库中未被引用的悬空对象 - 扫描完成后,所有悬空的文件内容快照会被导出到
.git/lost-found/other/目录下 - 逐一查看该目录下的文件内容,找到对应编辑版本后,将内容复制覆盖现有文件即可,该目录下的文件为Git生成的哈希值命名,无需关注文件名是否匹配。
场景B:误删前未执行过任何git add操作
Git未留存你的编辑内容,需从第三方缓存中恢复:
- 主流代码编辑器(VS Code、JetBrains全家桶、Sublime Text等)均默认开启本地历史功能,可直接在编辑器中打开对应文件的「本地历史」面板,找到删除前的编辑版本恢复。
- Windows系统可右键点击文件所在目录,选择「属性」-「以前的版本」,通过系统自动生成的卷影副本恢复对应时间点的文件。
- macOS/Linux系统若开启了时间机器、Timeshift等系统快照工具,可从历史快照中找回对应文件版本。
提示:恢复操作需尽快执行,避免新的磁盘写入覆盖未被清理的缓存数据。
内容的提问来源于stack exchange,提问作者ToughCookie
相关产品推荐
相关产品推荐

