如何从同一Fork同时创建两个含不同变更的Pull Request?
在同一Fork中创建独立Pull Request的正确操作方法
问题的核心原因很直接:如果用同一个分支提交多个PR,后续的所有变更都会自动同步到基于这个分支的所有PR里。解决办法就是为每个PR单独创建专属分支,具体操作步骤如下:
先同步本地仓库与上游原仓库
- 切换到你的主分支(通常是
main或master):git checkout main - 拉取上游仓库的最新代码(如果还没添加上游仓库,先执行
git remote add upstream 原仓库的Git地址):git pull upstream main - 将同步后的代码推送到自己的Fork:
git push origin main
- 切换到你的主分支(通常是
为第一个PR创建独立分支
- 基于主分支新建分支:
git checkout -b pr-你的功能名称1(比如pr-login-bug-fix) - 在这个分支上完成第一个PR的所有变更,提交代码:
git add .,git commit -m "修复登录流程的异常问题" - 将分支推送到自己的Fork:
git push origin pr-你的功能名称1 - 前往GitHub基于该分支创建第一个PR
- 基于主分支新建分支:
为第二个PR创建独立分支
- 切回主分支:
git checkout main - 再次同步上游代码,确保主分支为最新状态:
git pull upstream main - 新建第二个专属分支:
git checkout -b pr-你的功能名称2(比如pr-profile-ui-refactor) - 在这个分支上完成第二个PR的变更,提交并推送:
git add .,git commit -m "重构用户资料页面UI",git push origin pr-你的功能名称2 - 前往GitHub基于该分支创建第二个PR
- 切回主分支:
额外提醒
- 每个PR对应一个独立分支,两个分支的变更完全隔离,不会出现交叉污染的情况
- 后续需要修改某个PR时,直接切换到对应的分支修改、提交推送,只会更新目标PR
- 不要在主分支上直接编写代码,保持主分支与上游同步,作为所有新分支的干净基础
内容的提问来源于stack exchange,提问作者Conta Teste
相关产品推荐
相关产品推荐

