Git上fork后的代码仓库如何与原仓库进行同步

问题场景:最近公司项目组不允许个人在远程仓库建分支,要求每个人fork一个仓库,以后就在自己fork的仓库里提交代码,通过pull request将代码合并到主仓库。
这里的问题在于,原来的主仓库更新后自己fork的仓库并不会自动同步,导致两个仓库的版本不一致。

1.复制项目到自己的仓库

在原项目的地址,比如https://gitee.com/A/xxxx.git上,点击fork按钮,即将项目复制到了自己的仓库中,地址是https://gitee.com/B/xxxx.git

2.下载项目到本地

下载到本地的项目会有一个默认的远程名origin,但这个远程名并不指向A仓库,而是指向自己fork的B仓库,也就是说之后进行的pull、push操作都是在B仓库上进行的。这个时候就需要将A、B两个仓库进行关联了

3.关联两个仓库

执行命令git remote -v 查看远程仓库路径,如果只返回了两行结果,说明这时A、B两个仓库还未进行关联

origin  https://gitee.com/B/xxxx.git (fetch)
origin  https://gitee.com/B/xxxx.git (push)

执行命令git remote add upstream https://gitee.com/A/xxxx.git将A仓库设为B的上游代码库,upstream的名称可以随便取,写abc也可以,之后B就用upstream这个名字与A进行联系。再次查看远程仓库路径,检查是否设置成功

upstream		https://gitee.com/A/xxxx.git (fetch)
upstream		https://gitee.com/A/xxxx.git (push)
origin  https://gitee.com/B/xxxx.git (fetch)
origin  https://gitee.com/B/xxxx.git (push)
4.拉取合并代码

执行命令git fetch upstream获取A上的更新(此时并不会修改本地代码)。然后执行git merge upstream/master将代码合并到自己的master分支上。或者直接使用git pull upstream master命令。

5.push代码到fork的仓库

通过之前的操作,只是将自己的本地库和原来的远程库进行了同步,所以还需要将fork的仓库也进行同步才行。git push origin master,将代码push到B仓库,到这里才算将代码全部同步。

  • 11
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值