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

Git合并操作失误求助:branch_02丢失2022年11月5日至今的提交

解决Git分支提交丢失问题

先做备份(必做)

任何操作前先备份当前分支,防止误操作导致无法恢复:

git branch branch_02_backup
git branch branch_01_backup

方法一:强制合并branch_01到branch_02

如果之前合并失败是因为Git判定分支已同步,用--no-ff参数强制生成合并提交:

  1. 切换到branch_02分支
git checkout branch_02
  1. 执行带参数的合并命令
git merge branch_01 --no-ff
  1. 合并完成后推送到服务器(因服务器分支状态异常,需强制推送)
git push origin branch_02 --force

注意:强制推送会覆盖服务器上的branch_02,请确认团队内无其他人正在该分支工作,避免冲突。

方法二:直接重置branch_02到branch_01状态

如果合并仍无法找回提交,直接将branch_02的HEAD指向branch_01的最新提交:

  1. 切换到branch_02分支
git checkout branch_02
  1. 重置分支(此操作会覆盖branch_02当前所有未同步的修改)
git reset --hard branch_01
  1. 强制推送到服务器
git push origin branch_02 --force

方法三:通过reflog恢复历史状态

如果记得branch_02丢失提交前的状态,用reflog找回操作记录:

  1. 查看branch_02的操作日志
git reflog show branch_02
  1. 在输出中找到丢失提交对应的记录(格式如HEAD@{2}: merge branch_01: Fast-forward),复制对应的HEAD@{n}标识
  2. 重置branch_02到该状态
git checkout branch_02
git reset --hard HEAD@{n}
  1. 推送到服务器(若需要强制推送则加--force)

后续避免类似问题的建议

  • 合并分支前先拉取最新远程分支,确保本地状态与服务器同步
  • 重要分支操作(如合并、重置)前,先查看分支提交历史确认:git log --oneline --graph branch_01 branch_02
  • 避免在两个分支之间反复交叉合并,尽量保持单向合并流(比如从功能分支合并到主分支)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 23:20:28