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

如何在Sourcetree中彻底删除develop分支中的merge commit

如何删除develop分支中的错误merge提交

你现在pull就自动重置回去的核心原因是:你仅完成了本地develop分支的重置,远端仓库的develop分支仍然保留着包含错误merge的提交记录,Git会判定本地版本落后于远端,因此提示你拉取更新,拉取后自然会把远端的错误merge提交又合并回本地。

操作步骤

前提注意

如果你的develop是团队多人使用的公共分支,操作前务必提前和所有协作成员同步,避免后续有人基于旧的错误提交推送,再次把错误merge带回来。

具体操作

  • 先确认本地develop分支状态正确:执行git log检查提交历史,确认已经不包含你要删除的merge提交,当前HEAD就是你想要回退到的目标commit。
  • 强制推送本地分支覆盖远端版本:执行命令 git push origin develop --force

    注意:如果你的仓库设置了develop为受保护分支,强推会被系统拦截,需要先到仓库的「设置-分支保护规则」中临时关闭develop的保护,推送完成后再恢复即可。

  • 推送完成后不需要从该commit新建其他分支再重命名为develop,此时本地和远端的develop都已经是正确的状态,后续pull不会再出现被自动重置回包含错误merge版本的问题。

团队其他成员同步方案

如果是多人协作场景,其他成员要同步修复后的develop分支,不要直接pull,执行以下命令即可:

git checkout develop
git fetch origin
git reset --hard origin/develop

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:06:03