Github fork后与源项目保持同步

git commands

问题缘起

  • 当我fork 了自己喜爱的项目,就生成了我自己的repo,并有了一个副本在我自己的repo上。然后。。。😓 放在那里积灰了。。。当我再次回来的时候,发现源项目已经更新了很多了!可是这个副本如果不做任何操作,是不会持续更新的。看着自己repo的古董,心里真不是滋味,谁都希望fork之后项目要能够持续更新嘛,这样才能积极参与项目不是吗?
  • 好吧!赶紧行动起来!
  • 如何使得自己过去fork的repo和源项目保持同步更新呢?

方法 :命令行

  1. 显示远程对应的地址:
cd target-repo 
git remote -v

这行命令的目的是显示 在 我们github远程对应仓库的地址,一般会出现 origin: https://... 这里指的是远程origin对应的是后面的地址,一般这个地址是我们自己fork的。

  1. 增加源地址:
git remote add upstream <源项目url.git>

这行命令的结果会增加一个 upstream 命名的对应的源项目地址,为什么用upstream呢?直接,用其他名字也可以,这样我们再 git remote -v 就会显示

origin: https://... <自己的repo> 
upstream: https://... <源项目的repo>
  1. 回到master分支,或者确定所在的分支是master:
git checkout master

这个时候,分支是origin/master

  1. 将更新的源项目分支合并到自己的项目上
git merge upstream/master

实际上,我们就是用更新后的 upstream/master 取代了 origin/master
这样,本封存已久的古董终于可以更新到当下了!
别急,还差一步,因为我们目前更新的是本地。

  1. 将本地仓库push到Github上:
git push origin master

至此,远程自己的Github也更新完毕了。开工吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容