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

如何创建不包含首个未合并PR提交记录的第二个Pull Request?

解决第二个PR包含第一个PR提交记录的方案

方法1:基于最新master重建干净分支

  • 切换到master分支并拉取最新代码:
    git checkout master
    git pull origin master
    
  • 创建全新分支:
    git checkout -b new-second-branch
    
  • 把第二个PR的专属提交迁移过来:
    • 用git log找到第二个分支里仅属于本次的提交哈希,执行:
      git cherry-pick <专属提交哈希>
      
    • 若修改不多,也可直接复制修改后的文件到新分支,再提交:
      git add .
      git commit -m "本次新增提交的描述"
      
  • 推送新分支到远程,用它重新提交PR,旧分支可自行删除。

方法2:对现有分支执行变基

  • 切换到第二个分支:
    git checkout your-second-branch
    
  • 拉取远程master的最新代码:
    git fetch origin master
    
  • 基于最新master变基,让分支提交脱离第一个PR的历史:
    git rebase origin/master
    
  • 若出现冲突,手动解决后执行git rebase --continue,直到变基完成。
  • 强制推送更新后的分支到远程(仅当分支只有你在维护时这么做):
    git push origin your-second-branch --force
    
  • 刷新PR页面,提交记录就会只剩本次新增的内容。

方法3:交互式变基移除冗余提交

  • 切换到第二个分支后,用git log查看提交历史,找到第一个PR的提交哈希。
  • 执行交互式变基,指定第一个PR提交的父提交哈希(或用HEAD~n,n是包含冗余提交的数量):
    git rebase -i <第一个PR提交的父哈希>
    
  • 在弹出的编辑器中,把第一个PR对应的提交行前的pick改为drop,保存退出。
  • 解决可能的冲突后,执行git rebase --continue完成变基。
  • 强制推送分支到远程:
    git push origin your-second-branch --force
    

额外提示

  • 若第一个PR即将合并,可等它合并到master后,切换到第二个分支执行git merge master,再推送更新,PR会自动过滤掉重复的提交记录。
  • 强制推送前务必确认分支只有你个人使用,避免覆盖他人的修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:05:24