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

如何恢复已git add暂存未提交、强制切换分支后丢失的代码?

恢复未提交暂存代码的方法

未提交的暂存内容,Git会在本地保留临时对象,可通过以下步骤尝试恢复:

1. 查找悬空对象

运行命令列出本地Git数据库中所有未关联到任何提交的悬空对象,其中包含你之前暂存的内容:

git fsck --lost-found

2. 验证对象内容

对输出里的每个blob类型对象,用以下命令查看内容,确认是否为丢失的代码:

git show <blob哈希值>

3. 恢复内容

确认目标对象后,可选择两种方式恢复:

  • 直接导出到指定文件:
git show <blob哈希值> > 目标文件名.后缀
  • 恢复到当前分支的暂存区(还原到之前暂存的状态):
git update-index --add --cacheinfo 100644 <blob哈希值> 目标文件名.后缀

注:100644对应普通文件权限,可执行文件用100755

额外提醒

  • 后续切换分支前,建议用git commit提交暂存内容,或git stash暂存未提交修改,避免强制切换导致内容丢失。
  • 未提交的内容不会同步到远程仓库,只能从本地Git数据库恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:29:59