Git 的 origin 和 upstream,如何用?
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来pull
和push
,因为您可以贡献给自己的代码库。
git pull
git push
(同样,如果没有参数,默认情况下使用“origin”)
通过执行pull request
,为upstream
也就是原始仓库提交代码。
更多内容,点击阅读原文查看
评论