清理Fork仓库:如何在不影响未合并PR的情况下二次贡献?
关于Fork仓库后多PR贡献的操作方案
完全可以创建新分支进行新的贡献,且不会干扰当前正在进行的PR,具体操作和注意事项如下:
操作步骤
- 先确保本地仓库已关联原项目(上游)的远程仓库,如果还没关联,执行:
git remote add upstream https://github.com/原项目地址/X.git
- 基于上游仓库的最新master分支创建新的开发分支:
git fetch upstream git checkout -b new-feature upstream/master
这个new-feature分支会完全同步原项目的最新代码,和你本地master分支的现有更改完全隔离,后续在这个分支上的所有开发操作都不会影响到已提交的PR。
为什么不会干扰现有PR?
你当前的PR是基于自己Fork仓库的master分支创建的,只要你不修改这个master分支的内容(比如不在上面新增提交、不强制推送覆盖分支),这个PR的内容就会保持提交时的状态,不会被新分支的操作影响。
关于基础操作的误解
你之前直接在Fork的master分支上做更改的做法确实不符合标准的开源贡献流程,正确的姿势应该是:
- Fork仓库后,本地拉取Fork的master分支,但只用来同步上游更新,不直接在上面开发
- 每次新贡献都基于上游的master创建独立的新分支,在新分支上完成开发和提交
- 每个PR对应一个独立的分支,这样多个PR之间不会互相干扰,也方便项目维护者分别审核
内容的提问来源于stack exchange,提问作者SmallDevice
相关产品推荐
相关产品推荐

