我正在阅读Pro Git,而关于远程存储库的部分让我有点困惑。特别是,有一节作者说:
http://git-scm.com/book/en/Git-Basics-Working-with-Remotes
“如果您有多个遥控器,命令会列出所有这些,例如,我的Grit存储库如下所示。
$ cd grit
$ git remote -v
bakkdoor git://github.com/bakkdoor/grit.git
cho45 git://github.com/cho45/grit.git
defunkt git://github.com/defunkt/grit.git
koke git://github.com/koke/grit.git
origin git@github.com:mojombo/grit.git这意味着我可以很容易地从这些用户中的任何一个获得贡献。但是请注意,只有源远程是一个SSH URL,因此它是我唯一可以推送的URL(我们将在第4章中讨论这一点)。“
我的问题是,相对于砂砾而言,四个远程存储库(贝克门、乔、德芬尼特、科克)是什么?是他们的回购弥补了令状回购?还是它们是同一种砂砾回购的单独副本?还是根本没有血缘关系?
此外,如果令状回购是由这四个单独的回购,为什么他们分别命名?把它们全部置于“本源”之下难道不更有意义吗?
如你所见,我对此完全不感兴趣。我觉得向我解释的方式有点过头了。
发布于 2014-07-18 00:53:35
其思想是,您可以创建一个远程存储库(“原产地”),并将项目的代码推送到那里。假设您是该项目的创建者,您的存储库将被视为项目的正式版本。
假设您是唯一允许推送到远程存储库的人,但其他人可以从中提取。
因此,其他人可以克隆您的存储库并基于它创建自己的远程存储库(Got示例,GitHub允许您基于另一个用户的存储库创建远程存储库)。他们可以在自己的存储库中向您的代码添加特性。现在,如果他们想为官方版本(由您维护)贡献,他们可以告诉您他们添加的新特性,并要求您将它们添加到您的项目中。
您可以这样做的方法之一是将它们的存储库添加为附加的远程存储库(贝克门、cho45等)。是这样的存储库,它们以创建它们的GitHub用户的名字命名)。因为您不拥有这些存储库,所以您只能读取它们的访问权限。然后,您可以从它们中提取任何您想要的更改,并将它们推送到远程存储库,从而将这些更改集成到正式版本中。
这种类型的协作将在Pro Git书的后面讨论。你应该继续阅读,一切都会变得更清晰。
https://stackoverflow.com/questions/24815516
复制相似问题