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

Git合并分支后本地领先远程37个提交被拒绝推送如何解决

报错根因

你收到的you are not allowed to upload merges错误和本地操作无关,是远程仓库的分支保护策略限制导致。目前主流Git托管平台(GitHub、GitLab、Gitee等)的分支保护配置均支持禁止直接向目标分支推送合并提交,要求所有代码变更必须通过PR(拉取请求)/MR(合并请求)的审核流程完成合并,避免未经校验的合并代码直接进入核心分支。

正确操作步骤

你不需要修改本地Git配置,按以下流程操作即可完成代码合并:

  • 首先回退本地remote-branch分支到和远程一致的状态,清除本地的多余合并提交:
    # 确认当前处于remote-branch分支
    git reset --hard origin/remote-branch
    
  • 切换到remote-branch-test分支,重新解决冲突后将修改推送到远程测试分支:
    git checkout remote-branch-test
    # 重新执行合并、解决冲突后提交
    git merge remote-branch
    git add .
    git commit -m "fix: 解决与remote-branch的合并冲突"
    git push origin remote-branch-test
    
  • 进入Git托管平台的对应仓库页面,为remote-branch-test分支创建指向remote-branch的PR/MR,审核通过后点击平台的合并按钮完成代码合并即可。

特殊场景排查

如果团队规则允许直接推送合并提交到remote-branch,可联系仓库管理员确认两项配置:

  • remote-branch的分支保护规则中是否关闭了「禁止直接推送合并提交」的限制
  • 你的账号是否拥有remote-branch的写入和合并权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:18:02