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张图,可以看到确实已经同步好了.

————————————————

版权声明:本文为CSDN博主「开心自由天使」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/happyfreeangel/article/details/102605329

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容