如何在GitHub上将一个fork仓库的分支叠加到另一个fork仓库的分支?
实现两个Fork仓库分支的叠加(合并)
要将user1/reponame的user1branch分支合并到user2/reponame的user2branch分支,有两种常用方法:
方法一:本地Git命令操作
- 克隆你的
user2仓库到本地git clone https://github.com/user2/reponame.git cd reponame - 添加
user1的仓库作为远程源git remote add user1 https://github.com/user1/reponame.git - 拉取
user1仓库的所有分支数据git fetch user1 - 切换到目标分支
user2branchgit checkout user2branch - 合并
user1branch到当前分支git merge user1/user1branch- 若出现冲突,手动修改冲突文件后,执行
git add .和git commit完成冲突提交
- 若出现冲突,手动修改冲突文件后,执行
- 把合并后的分支推回你的
user2仓库git push origin user2branch
方法二:GitHub网页端Pull Request操作
- 打开你的
user2/reponame仓库页面 - 点击顶部的「Pull requests」选项卡,选择「New pull request」
- 在「Compare changes」区域,点击「compare across forks」链接
- 分别设置:
- 「head repository」:选择
user1/reponame,「compare」:选择user1branch - 「base repository」:选择
user2/reponame,「base」:选择user2branch
- 「head repository」:选择
- 检查页面展示的代码差异,确认无误后点击「Create pull request」
- 在PR详情页,点击「Merge pull request」完成合并(若有冲突,需先按照页面提示解决冲突再合并)
注意事项
- 合并前建议先拉取
user2branch的最新代码,减少冲突概率 - 若需要线性的提交历史,可以用
git rebase user1/user1branch替代merge,但rebase后需执行git push origin user2branch --force强制推送,团队协作场景下需谨慎使用
内容的提问来源于stack exchange,提问作者K S
相关产品推荐
相关产品推荐

