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

Github Desktop误将BranchA未提交变更带到master后如何恢复原有代码?

操作步骤

  • 先确认你提前备份的完整工作文件夹已妥善存放,不会被后续操作覆盖。
  • 执行命令清除当前混乱的半合并状态:
git reset --merge

该命令会清空索引中的未合并标记,且不会修改你工作目录内的实际文件,不会丢失已有改动。

  • 状态清理完成后,切回你的开发分支(注意分支名大小写需和你创建的实际分支名一致):
git checkout BranchA

操作完成后你在BranchA上的所有未提交开发内容就会恢复到误切换master分支之前的状态。

  • 为了避免后续再出现同类问题,立刻提交当前BranchA的所有改动:
git add .
git commit -m "备份BranchA近期开发内容"

备选方案(上述步骤失效时使用)

如果你执行完git reset --merge后仍有报错,可直接通过你的完整备份恢复:

  • 强制重置当前master分支到远程的干净状态,丢弃所有本地混乱改动:
git reset --hard origin/master
  • 切回BranchA分支:
git checkout BranchA
  • 将你提前备份的完整工作文件夹内容直接覆盖当前项目目录,即可完整恢复所有开发内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:24:04