gpt4 book ai didi

git - GitHub 中的项目与存储库

转载 作者:IT王子 更新时间:2023-10-29 00:32:29 27 4
gpt4 key购买 nike

在 GitHub 中,项目(可以在存储库中创建)和存储库之间的概念区别是什么?

我在 SO 中看到了几个类似的问题( hereherehere ),但它们都没有解释什么是 GitHub 项目、什么是 GitHub 存储库以及何时使用它们中的每一个.

如果有人能解释每个术语,并提供何时使用/创建每个术语的示例,我将不胜感激。例如,如果我有几个相互独立的原型(prototype)应用程序,我应该创建什么才能以有组织的方式管理所有这些应用程序的源代码?

最佳答案

事实 1:项目和存储库在 GitHub 上始终是同义词。

事实 2:情况已不再如此。

关于存储库和项目存在很多混淆。在过去,用户和 GitHub 自己的文档几乎可以互换使用这两个术语。此处的一些答案和评论反射(reflect)了这一点,这些答案和评论解释了这些术语之间的细微差别以及一个术语优于另一个术语的时间。差异总是很微妙,例如就像问题跟踪器是项目的一部分而不是存储库的一部分,这可能被认为是严格的 git 等。

不再是了。

目前,repos 和项目指的是具有独立 API不同类型的实体:

从那时起,将 repo 称为项目不再是正确的,反之亦然。请注意,它在官方文档中经常被混淆,不幸的是,一个已经被广泛使用的术语被选为新实体的名称,但事实就是如此,我们必须接受这一点。

结果是 repos 和项目通常会混淆,每次你读到 GitHub 项目时,你都不得不怀疑它真的是关于项目还是关于 repos。如果他们选择了其他名称或缩写,如“proj”,那么我们可以知道所讨论的是新型实体、具有具体属性的精确对象,或者一般来说类似于 repo 的项目。

通常明确的术语是“项目板”

我们可以从 API 中学到什么

Projects API 文档中的第一个端点:

被描述为:列出存储库项目。这意味着一个存储库可以有很多项目。所以这两个不能指同一件事。它包括Response if projects are disabled:

{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}

这意味着某些 repo 协议(protocol)可以禁用项目。同样,当 repo 协议(protocol)可以禁用项目时,这些就不是一回事了。

还有一些其他有趣的端点:

  • 创建存储库项目 - POST/repos/:owner/:repo/projects
  • 创建组织项目 - POST/orgs/:org/projects

但是没有:

  • 创建用户的项目 - POST/users/:user/projects

这导致我们有另一个区别:

<强>1。存储库可以属于用户或组织
2。项目可以属于存储库或组织

或者,更重要的是:

<强>1。项目可以属于存储库,但反之则不行
2。项目可以属于组织但不属于用户
3.存储库可以属于组织和用户

另见:

我知道这很困惑。我试图尽可能准确地解释它。

关于git - GitHub 中的项目与存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40509838/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com