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

Visual Studio执行Stash All后更改丢失且无stash可恢复,如何找回?

找回Visual Studio中丢失的Stash内容
  • 先通过Git原生命令排查悬空提交:打开终端(Visual Studio内置终端或系统终端都可以),进入仓库所在目录,运行:

    git fsck --no-reflog | awk '/dangling commit/ {print $3}'
    

    这个命令会列出仓库里所有未被引用的悬空提交,你之前的stash内容大概率在这些提交里。

  • 逐个查看悬空提交的内容:对上面输出的每个提交哈希值,运行:

    git show <提交哈希>
    

    对比内容找到你丢失的那组更改。

  • 恢复找到的提交:如果确认了目标提交,直接用以下命令恢复到当前分支:

    git stash apply <提交哈希>
    

    或者用git cherry-pick <提交哈希>把提交合并到当前分支。

  • 找回untracked文件:因为你用了--include-untracked,未跟踪文件会被打包成单独的blob对象,运行以下命令列出所有悬空blob:

    git fsck --no-reflog | awk '/dangling blob/ {print $3}'
    

    用git show <blob哈希>查看内容,确认是需要的文件后,用重定向保存:

    git show <blob哈希> > 文件名.扩展名
    
  • 注意:只要仓库没有执行过git gc(垃圾回收),这些悬空对象就不会被清理,所以尽快操作成功率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:33:19