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

本地分支恢复求助:删除含未提交未暂存变更的子分支后,原分支变更能否找回?

恢复已删除分支上的未提交/未暂存变更

可以尝试以下步骤找回丢失的变更:

  1. 查看Git引用日志定位分支痕迹
    执行git reflog命令,它会记录所有HEAD的移动历史,包括已删除分支的操作记录。找到对应子分支的最后一条记录(比如类似a1b2c3 HEAD@{3}: checkout: moving from test-branch to main),其中的a1b2c3就是子分支被删除前的HEAD哈希值。

  2. 恢复到该哈希值对应的状态
    执行git checkout a1b2c3,此时会进入分离HEAD状态,你之前的未提交/未暂存变更应该会出现在工作区中。

  3. 如果上述方法没找到,查找Git临时对象
    执行git fsck --lost-found,这个命令会扫描所有未被引用的Git对象,并将它们存入.git/lost-found/目录。之后可以用git show <对象哈希值>逐个查看这些对象的内容,找到包含你丢失变更的文件。

  4. 保存找回的变更
    一旦找回变更,立即通过git stash push暂存,或者直接git add . + git commit -m "恢复丢失的未提交变更"将其保存到原分支。

注意:如果删除分支后没有执行过多Git操作(比如大量新提交、垃圾回收),找回概率很高——Git默认不会立即清理未被引用的临时对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:40:17