如何按PR合并顺序,多次增量Rebase至最新master分支?
按PR合并顺序执行增量Rebase的步骤
前置准备
- 确保本地master分支是最新状态:
git checkout master git pull origin master
- 定位目标PR的合并提交
用git log --oneline查看master的提交历史,找到两个PR对应的合并提交(通常带有Merge PR #XXX: ...的注释),记录下它们的哈希值:
- 第一个PR合并后的master提交哈希记为
<commit-A> - 第二个PR合并后的最新master提交哈希记为
<commit-B>(即当前master的HEAD)
执行增量Rebase
- 切换到你的开发分支:
git checkout your-feature-branch
- 先变基到第一个PR合并后的master版本:
git rebase <commit-A>
- 若出现冲突:编辑冲突文件,手动解决代码冲突后,执行
git add <已解决冲突的文件>标记冲突已处理,再运行git rebase --continue完成本轮变基。 - 若需放弃当前变基,执行
git rebase --abort即可回退到变基前的状态。
- 再变基到第二个PR合并后的最新master:
git rebase <commit-B>
- 重复冲突处理流程,完成后你的开发分支就完全同步到最新master了。
进阶:按单个提交增量Rebase
如果团队采用原子提交的规范,想要把冲突范围降到最小,可以把每次变基的目标换成master上的单个提交哈希,按提交顺序依次执行git rebase <单个提交哈希>,每次解决完冲突后再推进到下一个提交。这种方式冲突更细碎,但更容易定位问题,前提是你对Rebase操作足够熟练。
注意事项
- 变基前建议给当前分支创建备份:
git branch your-feature-branch-backup,避免操作失误丢失代码。 - 仅在私有开发分支上执行Rebase,不要对已经推送到公共仓库的分支进行变基,否则会打乱团队的提交历史。
- 解决冲突时务必核对代码逻辑,确保不会引入隐性bug。
内容的提问来源于stack exchange,提问作者Devin Rhode
相关产品推荐
相关产品推荐

