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

GitLab中撤销已合并到main的MR,终端强制推送命令是否可行?

GitLab撤销main分支合并操作的解决方案

你提到的终端命令是完全可行的,能帮你撤销main分支上的合并操作并覆盖远程分支:

git checkout main
git reset --hard <commit_hash_before_merge>
git push --force origin main

补充说明

  1. PyCharm无法完成强制推送是因为其Git工具默认未启用强制推送的权限选项,而终端直接执行git push --force可以绕过这个限制,但前提是你有权限修改远程main分支。
  2. 执行前确认本地main分支没有未提交的变更,reset --hard会彻底清除这些内容。
  3. 如果GitLab上main分支开启了分支保护(比如禁止强制推送),需要先进入项目「设置」-「仓库」-「分支保护」,临时关闭对应规则,完成推送后再重新开启。
  4. 若有其他协作者基于合并后的main分支做了新提交,强制推送后他们拉取代码会出现冲突,需要告知他们执行git fetch origin && git reset --hard origin/main来同步最新版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:59:55