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

如何强制用dev分支覆盖远程master解决Gitlab PR合并冲突问题

可行性确认

你作为项目唯一开发人员,所有有效代码提交均已归集到dev分支,全量覆盖master分支的操作完全可行,不会出现协作冲突或有效代码丢失问题。

推荐操作方案(无需调整保护分支规则,适配现有PR工作流)
  • 第一步:拉取远程所有分支的最新提交,保证本地版本与远程同步
    git fetch origin
    
  • 第二步:切换到本地dev分支,同步远程最新改动
    git checkout dev
    git pull origin dev
    
  • 第三步:在dev分支执行合并操作,使用theirs合并策略自动解决所有冲突,冲突内容全部采纳dev分支的版本
    git merge -X theirs origin/master
    
  • 第四步:将合并后的dev分支提交推送到远程
    git push origin dev
    
  • 第五步:回到Gitlab的PR页面,系统会自动检测到冲突已全部解决,直接执行合并操作即可,合并后的master分支内容和dev分支完全一致。
备选操作方案(需管理员权限,可保持提交历史简洁)

如果不需要保留合并提交记录,希望master分支的提交历史和dev完全对齐,可以采用硬重置方案:

  • 第一步:进入Gitlab项目「设置 - 仓库 - 受保护的分支」页面,临时给你的账号开通master分支的「允许推送」「允许强制推送」权限
  • 第二步:本地切换到master分支,硬重置为dev分支的内容
    git checkout master
    git reset --hard origin/dev
    
  • 第三步:强制推送本地master到远程仓库
    git push -f origin master
    
  • 第四步:推送完成后恢复master分支的原有保护规则即可,后续部署流程无需调整。
注意事项

操作前建议先给当前master分支打备份标签,避免误操作后无法回滚:

git tag master-backup-$(date +%Y%m%d) origin/master
git push origin master-backup-$(date +%Y%m%d)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:57:05