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

创建新分支未提交变更致工作内容丢失的Git问题求助

恢复未提交丢失内容的实操步骤

1. 检查工作区与暂存区

先排查当前本地的基础状态:

  • 执行 git status,确认是否存在未跟踪、已暂存但未提交的文件
  • 执行 git diff,查看工作区文件与当前HEAD的差异
  • 执行 git diff --cached,查看暂存区文件与当前HEAD的差异

2. 利用Git reflog回溯操作记录

Git的reflog会记录所有HEAD的变动轨迹,包括未提交的操作:

  • 执行 git reflog,查看所有历史操作节点(比如创建新分支前后的checkout、commit记录)
  • 找到疑似包含丢失内容的节点哈希值,执行 git show <commit-hash> 查看具体内容
  • 确认是目标内容后,执行 git checkout <commit-hash> 切换到该节点恢复内容

3. 检查自动缓存的stash

部分场景下Git会自动暂存变更,可排查stash列表:

  • 执行 git stash list,列出所有缓存的stash记录
  • 执行 git stash show <stash-name>,查看对应stash的内容详情
  • 确认匹配后,执行 git stash apply <stash-name> 恢复缓存内容

4. 扫描Git对象库查找孤立文件

Git会将所有操作对象存储在本地仓库,可尝试找回孤立的未提交对象:

  • 执行 git fsck --lost-found,该命令会把所有无关联的Git对象导出到 .git/lost-found/ 目录
  • 进入 .git/lost-found/other/ 目录,执行 git cat-file -p <object-hash> 逐个查看对象内容,找到目标文件后直接导出保存

5. 检查新创建的分支

切换到你新建的分支,执行 git log --oneline 和 git diff,确认是否在分支创建时意外携带了部分变更


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:10:31