如何将现有Pull Request的基准分支改为上游仓库的master分支?
修改PR基准分支到上游仓库并保留评审记录的方法
由于GitHub不支持直接将PR的基准分支从自身fork仓库切换到上游仓库,你可以按以下步骤操作,既能迁移基准分支,又能保留原有评审对话:
同步本地与上游仓库代码
- 若本地未添加上游仓库A的远程地址,先执行:
git remote add upstream <仓库A的Git地址> - 拉取上游仓库A的最新master分支代码:
git fetch upstream
- 若本地未添加上游仓库A的远程地址,先执行:
将你的分支变基到上游master
- 切换到你的工作分支branch1:
git checkout branch1 - 执行变基,让branch1基于上游A的master:
git rebase upstream/master- 若出现冲突,手动解决冲突后,执行
git rebase --continue完成变基
- 若出现冲突,手动解决冲突后,执行
- 强制推送更新后的branch1到你的fork仓库B:
git push origin branch1 --force(仅当该分支只有你维护时使用,避免覆盖他人修改)
- 切换到你的工作分支branch1:
迁移PR并保留评审记录
- 关闭你之前在仓库B内部创建的PR(从branch1到B.master的那个)
- 新建一个从B.branch1到A.master的PR
- 在新PR的描述中,引用原PR的编号和链接,例如:
此PR迁移自原PR #[原PR编号],已完成所有评审意见处理,原评审对话可查看原PR链接
这样操作后,新PR包含了所有已处理的修改,同时通过引用原PR,所有评审对话记录都能被查看,不会丢失。
内容的提问来源于stack exchange,提问作者Shubham Patel
相关产品推荐
相关产品推荐

