git fork之后的项目如何保持和上游同步

团队协作,为了规范,一般都是fork组织的仓库到自己帐号下,再提交pr,组织的仓库一直保持更新,下面介绍如何保持自己fork之后的仓库与上游仓库同步。

下面是我fork github 开源项目envoy 仓库https://github.com/envoyproxy/envoy.git为例
github 上的项目fork 后,

在这里插入图片描述

#下载到了本地电脑上
git clone https://github.com/HappyFreeAngel/envoy.git

#查看一下结果
linyingjiedeMacBook-Pro:envoy linyingjie$ git remote -v
origin https://github.com/HappyFreeAngel/envoy.git (fetch)
origin https://github.com/HappyFreeAngel/envoy.git (push)
upstream https://github.com/envoyproxy/envoy.git (fetch)
upstream https://github.com/envoyproxy/envoy.git (push)

#添加upstream
git remote add upstream https://github.com/envoyproxy/envoy.git
git fetch upstream
git checkout master
git merge upstream/master

点击 fork 组织仓库到自己帐号下,然后就可以在自己的帐号下 clone 相应的仓库

使用 git remote -v 查看当前的远程仓库地址,输出如下:

origin git@github.com:ibrother/staticblog.github.io.git (fetch)
origin git@github.com:ibrother/staticblog.github.io.git (push)
可以看到从自己帐号 clone 下来的仓库,远程仓库地址是与自己的远程仓库绑定的(这不是废话吗)

接下来运行 git remote add upstream https://github.com/staticblog/staticblog.github.io.git

这条命令就算添加一个别名为 upstream(上游)的地址,指向之前 fork 的原仓库地址。git remote -v 输出如下:

origin git@github.com:ibrother/staticblog.github.io.git (fetch)
origin git@github.com:ibrother/staticblog.github.io.git (push)
upstream https://github.com/staticblog/staticblog.github.io.git (fetch)
upstream https://github.com/staticblog/staticblog.github.io.git (push)
之后运行下面几条命令,就可以保持本地仓库和上游仓库同步了

git fetch upstream
git checkout master
git merge upstream/master

最后就是熟悉的推送本地仓库到远程仓库

git push origin master

在这里插入图片描述
对比以上2张图,可以看到确实已经同步好了.

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

开心自由天使

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值