跳转至

What is the difference between origin and upstream on github

本文总阅读量次 ,原创教程,严禁转载

origin 和 upstream

这应该在GitHub forks的上下文中理解(在本地克隆GitHub之前,在GitHub上fork出GitHub repo)

  • upstream 通常是指你已经forked的原始仓库(有关upstream术语的更多信息,请参见“upstream”和“downstream”的定义)

  • origin 是你自己在GitHub上的仓库,GitHub原始仓库的clone

从GitHub页面中的解释:

克隆repo时,它有一个名为origin的默认remote对象,它指向GitHub上的fork,而不是fork后的原始repo

要跟踪原始repo,需要添加另一个名为upstream的remote仓库

如下操作:

git remote add upstream git://github.com/<aUser>/<aRepo.git>

(使用aUser/aRepo作为您fork的原始创建者和仓库的引用)

您将使用upstream从原始repo获取(以便使您的本地副本与您要参与的项目原始仓库地址(你从forked的那个原始仓库)保持同步):

git fetch upstream

(默认情况下,git fetch单独从origin获取数据)

您将使用origin来pullpush,因为您可以贡献给自己的代码库。

git pull
git push

(同样,如果没有参数,默认情况下使用“origin”)

您将通过发出pull request,为upstream也就是原始仓库做出贡献。