如何在GitHub上将两次修改分别提交为两个独立的PR
GitHub网页端创建多个独立PR的操作方案
问题核心原因
两次修改都提交到了自己Fork仓库的同一个分支(默认是main/master分支),GitHub的规则是同一个源分支向目标仓库发起的PR,会自动把该分支后续的所有新提交并入同一个PR,因此会出现第二次修改被自动合并到第一个PR的情况。
现有问题补救方案(纯网页端操作)
将已经混入第一个PR的第二次改动拆分生成独立PR的操作步骤:
- 进入自己Fork的仓库页面,切换到发起第一个PR所用的分支(默认是
main),找到第二次提交的改动文件,将改动内容备份到本地文档备用。 - 点击页面上方的分支下拉框(显示当前分支名的位置),在输入框中填写和第二次改动对应的新分支名(例如
fix-登录接口异常),点击下方「Create branch 新分支名 from main」按钮,创建和当前main分支内容一致的独立新分支。 - 切换回
main分支,找到第二次提交的提交记录,点击记录右侧的Revert(回退)按钮并确认操作。此时main分支会撤销第二次的改动,第一个PR会自动同步移除第二次的改动内容,回到仅包含第一次修改的状态。 - 切换到刚刚创建的新独立分支,找到需要修改的第二个文件,将之前备份的改动内容粘贴后提交。
- 提交完成后页面会自动提示发起PR,此时生成的PR源分支为新建的独立分支,和第一个PR完全独立,后续改动互不影响。
后续多独立PR提交规范
每次提交新的独立改动前遵循以下流程,即可直接生成独立PR:
- 进入自己的Fork仓库,先切换到和原仓库对应的默认分支(一般为
main),点击「Sync fork」按钮同步原仓库的最新内容,避免后续出现合并冲突。 - 点击分支下拉框,输入和本次改动对应的专属分支名,创建全新的独立分支。
- 切换到刚创建的新分支,在该分支下完成文件修改、提交操作,提交后发起PR即可。
核心逻辑:每个独立改动对应一个专属分支,不同改动不要提交到同一个分支,即可保证生成的PR完全独立,后续修改对应分支的内容只会同步到对应PR,不会互相混入。
内容的提问来源于stack exchange,提问作者Stefanie Gauss
相关产品推荐
相关产品推荐

