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

如何用migration分支完全替换受保护的master分支?

用migration分支完全替换master分支的解决方法

方案1:临时调整分支保护规则(需管理员权限)

如果你有仓库管理员权限,这是最直接的方式:

  • 进入仓库设置的「分支保护规则」,找到master对应的规则,暂时关闭「禁止强制推送」选项
  • 本地执行命令,用migration的内容生成无冲突的合并提交:
    git checkout migration
    git merge -s ours master  # 保留migration所有内容,忽略master的变更
    git checkout master
    git merge migration
    git push origin master
    
  • 推送完成后,立刻恢复master的分支保护规则

方案2:反向合并后提PR(无管理员权限适用)

没权限改保护规则的话,用反向合并绕开冲突:

  • 本地切换到migration分支,拉取最新代码:
    git checkout migration
    git pull origin migration
    
  • 用ours策略合并master到migration,这步不会产生冲突,且完全保留migration的代码:
    git merge -s ours master
    
  • 推送合并后的migration到远程:
    git push origin migration
    
  • 在仓库平台创建从migration到master的PR,此时PR会显示无冲突,直接合并就能完成替换

方案3:删除重建master分支(需管理员权限)

如果仓库允许删除主分支,也可以用这种方式:

  • 仓库设置中暂时允许删除master分支
  • 本地删除远程master分支:
    git push origin --delete master
    
  • 将migration分支重命名为master并推送到远程:
    git checkout migration
    git branch -m master
    git push origin master
    
  • 恢复仓库的分支保护规则,禁止删除master并开启原有保护

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:02:06