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

如何将GitHub PR从master分支切换至新分支且保留讨论与提交历史?

解决方案:迁移PR分支并修改现有PR指向

本地仓库操作步骤

  • 先同步原仓库与自己fork仓库的最新代码:
    git fetch upstream
    git fetch origin
    
  • 基于原仓库的master分支,创建新的功能分支(比如命名为feature/my-fix):
    git checkout -b feature/my-fix upstream/master
    
  • 提取你在自己fork的master分支上的所有提交,把它们迁移到新分支。先通过日志找到这些提交的哈希值:
    git log --oneline origin/master ^upstream/master
    
    然后逐个将这些提交cherry-pick到新分支:
    git cherry-pick <提交哈希1> <提交哈希2> ...
    
  • 将新分支推送到你的fork仓库:
    git push origin feature/my-fix
    
  • (可选)恢复自己fork的master分支,使其与原仓库master完全一致,解放该分支:
    git checkout master
    git reset --hard upstream/master
    git push origin master --force
    

    注意:执行强制推送前,务必确认你的fork的master分支仅包含你自己的改动,没有其他人的提交,避免意外覆盖内容。

GitHub上修改现有PR指向

  • 打开你已创建的目标PR页面
  • 在页面上方的「Compare changes」区域,点击「base repository」旁的「edit」按钮
  • 在编辑界面中,保持「head repository」为你的fork仓库,将「compare」分支从master切换为刚推送的feature/my-fix
  • 确认修改后,PR会自动更新,所有提交历史、评论和讨论都会完整保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:15:34