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

合并main至开发分支遇问题,PR分支如何跟进main更新?

如何在保留现有PR的前提下让分支跟进main最新版本并解决冲突

操作前准备

  • 拉取远程main分支的最新代码:
    git checkout main
    git pull origin main
    
  • 切换到你的PR分支:
    git checkout <你的PR分支名称>
    
  • (可选但推荐)备份当前PR分支,防止操作失误:
    git checkout -b <你的PR分支名称>-backup
    git checkout <你的PR分支名称>
    

方案一:合并main到PR分支(稳妥,不重写历史)

适合团队不允许重写提交历史的场景,操作后会生成一个合并提交:

  • 执行合并命令:
    git merge main
    
  • 若出现冲突,打开冲突文件手动修改(文件中<<<<<<<到>>>>>>>标记的部分就是冲突内容),修改完成后:
    git add <冲突文件名>
    git commit  # 可直接保存默认的合并提交信息,也可自定义
    
  • 推送到远程PR分支:
    git push origin <你的PR分支名称>
    

推送完成后,PR页面会自动更新,展示合并后的代码状态,冲突解决后即可继续审核流程。


方案二:变基PR分支到main(历史更整洁,需注意适用场景)

如果团队允许重写提交历史,且只有你一个人在这个PR分支上工作,推荐用这种方式,能让提交历史保持线性:

  • 执行变基命令:
    git rebase main
    
  • 遇到冲突时,修改冲突文件后:
    git add <冲突文件名>
    git rebase --continue  # 继续变基流程
    # 若中途想放弃变基,执行 git rebase --abort
    
  • 变基完成后,因为重写了提交历史,需要强制推送(用--force-with-lease比--force更安全,避免覆盖他人提交):
    git push origin <你的PR分支名称> --force-with-lease
    

推送后PR会自动更新为基于最新main的代码,提交历史更简洁。


注意事项

  • 两种操作都不会破坏现有PR,PR的审核评论、状态都会保留,只是代码会更新为最新版本。
  • 若PR已经有评审反馈,更新分支后评审者能直接看到最新代码,无需重新提交PR。

内容的提问来源于stack exchange,提问作者Yakinzo Roboto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:13:43