GitHub上的原点和上游有什么区别?
当执行一个git分支-a命令时,它显示的一些分支有一个origin前缀(remotes/origin/..),而另一些分支有一个upstream前缀(remotes/upstream/..)。
GitHub上的原点和上游有什么区别?
当执行一个git分支-a命令时,它显示的一些分支有一个origin前缀(remotes/origin/..),而另一些分支有一个upstream前缀(remotes/upstream/..)。
当前回答
上游
上游通常指的是你已经分叉的原始回购。为了跟踪原始的回购,您需要添加另一个名为upstream的远程。
当我们运行这个命令时:
git push -u origin master
-u标志意味着您的本地分支将成为跟踪分支。也就是说,一个分支跟踪一个远程分支(上游分支),所以未来的git pull将知道从哪个分支合并,git push将被定向到正确的远程分支。
起源
当您使用git clone命令克隆存储库时,它会自动创建一个名为origin的远程连接,指向克隆的存储库。Origin是你在GitHub上自己的回购的分叉,复制了GitHub的原始回购。
运行此命令:
git push origin branchname
其他回答
这应该在GitHub fork的上下文中理解(在本地克隆该fork之前,您在GitHub上fork一个GitHub repo)。
上游通常指的是你已经分叉的原始回购 (有关上游术语,请参阅“下游”和“上游”的定义) origin是你的fork:你自己在GitHub上的回购,复制了GitHub的原始回购
从GitHub页面:
当一个回购被克隆时,它有一个默认的远程名为origin,指向你在GitHub上的分叉,而不是它被分叉的原始回购。 为了跟踪原始的回购,您需要添加另一个名为upstream的远程
git remote add upstream https://github.com/<aUser>/<aRepo.git>
(使用aUser/aRepo作为原始创建者和存储库的引用,你已经fork了)
注意:自2021年9月起,GitHub不再支持9418端口上未经身份验证的git协议(git://…)
您将使用upstream从原始的repo中获取(为了保持您的本地副本与您想要贡献的项目同步)。
git fetch upstream
(默认情况下,git单独获取将从origin获取,这不是这里所需要的)
您将使用origin进行拉和推操作,因为您可以对自己的存储库进行贡献。
git pull
git push
(同样,没有参数,默认使用'origin')
您将通过发出拉取请求来回馈上游回购。
克隆一个fork后,你必须显式地添加一个远程上游,用git添加远程“你fork的原始repo”。这就是上游,你主要从上游获取和合并。任何其他业务,如从本地推送到上游,都应该使用拉请求来完成。
简单地回答。
产地:叉子 上游:分叉
上游
上游通常指的是你已经分叉的原始回购。为了跟踪原始的回购,您需要添加另一个名为upstream的远程。
当我们运行这个命令时:
git push -u origin master
-u标志意味着您的本地分支将成为跟踪分支。也就是说,一个分支跟踪一个远程分支(上游分支),所以未来的git pull将知道从哪个分支合并,git push将被定向到正确的远程分支。
起源
当您使用git clone命令克隆存储库时,它会自动创建一个名为origin的远程连接,指向克隆的存储库。Origin是你在GitHub上自己的回购的分叉,复制了GitHub的原始回购。
运行此命令:
git push origin branchname