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

Gerrit仓库迁移GitHub:PR因提交过多无法变基合并,求解决方案

解决GitHub无法处理大量提交分支合并的问题

针对你迁移Gerrit仓库到GitHub时遇到的「因提交过多无法Rebase and Merge」问题,有以下两种直接可行的方案:

方案一:直接强制推送分支到main(推荐,适用于目标GitHub仓库为空的场景)

因为你的目标GitHub仓库原本是空的,无需通过PR合并,直接将包含完整历史的分支推送到main分支即可:

  1. 切换到本地的MasterReplica分支:
    git checkout MasterReplica
    
  2. 强制将该分支推送到远程main分支:
    git push origin MasterReplica:main --force
    

执行完成后,GitHub的main分支就会包含所有10000次提交历史,无需经过PR流程。

方案二:本地完成合并后推送(若需要保留PR记录)

如果你必须通过PR完成合并流程,可以绕过GitHub的Web端限制,在本地完成重基后再推送:

  1. 切换到本地main分支并拉取最新代码(此时main应该还是空仓库的初始提交):
    git checkout main
    git pull origin main
    
  2. 将MasterReplica分支的提交重基到main分支上:
    git rebase MasterReplica
    
    (因为两个分支是无关历史,重基后main分支会直接继承MasterReplica的所有提交历史)
  3. 强制推送重基后的main分支到远程:
    git push origin main --force
    

之后你可以关闭之前的PR,因为main分支已经包含了完整历史。

补充说明

GitHub Web端的「Rebase and Merge」功能对单次处理的提交数量有隐性限制,当提交数过万时会触发性能保护机制导致失败,而本地Git操作不受此限制,因此直接在本地完成历史合并后推送是最可靠的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:50:31