git解决Forks间的合并冲突


一、样例说明

假设有两个repo:repoArepoB。其中,repoB是通过fork repoA而得到的(B fork from A)。

某一时刻,A与B同时修改一个文件,并提交到各自的远程仓库。一段时间后,B想通过Fetch upstream来Pull request更新仓库,此时就会报错:
请添加图片描述

二、解决方法

1. 把repoB (fork from repoA) 克隆到本地

 git clone repoB URL

2. 在本地的repoB中新建一个分支

repoB通过Fetch upstream来申请repoB仓库的Pull request
请添加图片描述
然后会提示command line instructions
根据github的提示,在本地的repoB项目中输入相应的git指令(以自己的github中的指令为准):

git checkout -b fork1666-master master
git pull https://github.com/fork1666/forkMerge.git master

3.解决分支冲突

用编辑器打开克隆到本地的仓库repoB,以VS code为例,查找到造成分支冲突的文件:
请添加图片描述
解决冲突,例如:
请添加图片描述
保存文件

4. 将解决分支冲突后的项目commit到本地

git add .
git commit -m"message"

5. Merge the changes and update on GitHub

根据github的提示,在本地的repoB项目中输入相应的git指令(以自己的github中的指令为准):

git checkout master
git merge --no-ff fork1666-master
git push origin master

执行完上述操作之后,远程repoB仓库便更新到了repoA的最新版本。repoB可以直接向repoA提Pr而不会提示分支冲突。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值