恢复 git stash drop 丢失的内容

git stash drop 之后,stash 的内容并没有立即从系统中彻底消失,在一定条件下是可以找回的。

快速恢复方法

1. 立即查找丢失的 stash

bash
# 查看所有可恢复的提交(包括被 drop 的 stash)
git fsck --unreachable | grep commit | cut -d' ' -f3 | xargs git log --merges --no-walk --pretty=oneline

这会列出所有悬空的 commit 对象,stash 通常显示为 WIP on 分支名

2. 查看详细的悬空对象

bash
git fsck --unreachable

找到类似 commit 7a9b8c3... 的输出,然后查看该 commit 的内容:

bash
git show 7a9b8c3

如果内容正确,可以恢复为一个新的 stash:

bash
git stash apply 7a9b8c3
 
posted @ 2026-05-26 15:23  Lunais  阅读(7)  评论(0)    收藏  举报