如何使用Android Studio | IDEA合并gitHub的pull request

本文详细介绍了如何通过Pull Request将个人fork仓库的修改合并回原仓库,以及如何获取原仓库的更新,解决代码冲突,确保本地代码与远程仓库同步。

有时候我们使用gitHub上面的一些开源库,需要对库的代码进行一些修改,以符合我们自己的要求,但是如果原作者后续有了更新,我们如何让我们fork的仓库也获得这些更新呢?这个时候就需要我们new pull request,合并更新的代码.

new pull request

用途

  1. 我们fork原作者的仓库,修改后想把这些修改推送给原作者,合并到他的仓库中,让大家都来使用你的代码,成为原作者仓库的贡献者.
  2. 原作者的仓库进行了更新,让我们fork的仓库跟进这些更新.

操作

在这里插入图片描述

在这里插入图片描述

这里要注意左边的仓库是要合并到的仓库,原作者的再左边就是实现上面的功能1,向原仓库提交代码.如果要获取原仓库的更新的话,左边选择我们自己的仓库.

在这里插入图片描述

选了之后你会发现不能再选择仓库了,这时候点击右边的compare across forks展开.

在这里插入图片描述

现在右边选择原作者的仓库,创建的pull request,就是提交给你自己.

如果这次pull request没有冲突,恭喜你,自动就合并了,但是如果有冲突的话,就要自己手动操作了,官方的方法是在gitHub 桌面客户端或者git命令行里面进行合并的指导,但是命令行的话不太会用,我自己最理想的合并是使用as的冲突合并对比工具.清晰方便的就可以合并冲突的代码.今天进行了一下尝试,revert了几次,总算是搞明白了,现在记录下流程.

合并冲突

  1. checkout 自己的仓库到本地,用as打开.

  2. 新建并切换到一个分支,我這里就叫temp了.git checkout -b temp master,可以用命令行操作也可以在as里面用界面操作.

  3. pull 原仓库分支,git pull https://github.com/Bigkoo/Android-PickerView.git master,这一步我没有发现怎么在as里面操作.添加原仓库为remote好像是不行的.

    在这里插入图片描述

  4. pull了之后就会提示冲突了,这个时候到as中点击:

    在这里插入图片描述

    在这里插入图片描述

    解决冲突就好了.

  5. 冲突解决后.按照官方操作就好了.

    Step 2: Merge the changes and update on GitHub.
    
    git checkout master
    git merge --no-ff temp
    git push origin master
    

    可以在命令行操作,也可以在as中操作.

这样我们的仓库就能更新到原仓库的最新版本了.还能保留我们的修改.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值