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

如何撤销已推送到远程的Git合并操作?

撤销错误合并并恢复分支状态

前提:你的个人分支仅自己使用,无其他协作者同步该分支

  1. 定位合并前的提交版本
    运行git log查看提交历史,找到合并操作之前的提交哈希值(格式类似a1b2c3d9f8e7)。如果日志条目太多,加--oneline参数简化输出:

    git log --oneline
    

    要是记不清合并前的提交,用git reflog查看所有分支操作记录,找到合并动作之前的条目对应的ID或HEAD@{n}标记。

  2. 重置本地分支到合并前状态
    用硬重置彻底回滚到目标提交,丢弃错误的合并:

    git reset --hard <合并前的提交ID>
    

    比如找到的ID是a1b2c3d,就执行git reset --hard a1b2c3d。

  3. 强制覆盖远程分支
    因为远程已经存在错误的合并提交,需要强制推送覆盖:

    git push -f origin <你的个人分支名>
    

补充说明

如果你的分支有其他协作者,禁止使用强制推送,可以用git revert生成撤销合并的新提交:

git revert -m 1 <合并提交的ID>

这里-m 1表示保留合并时的第一个父分支(即你的个人分支原本状态),执行完成后推送到远程即可,不会影响协作者的本地代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:57:03