car*_*rra 116 git version-control github repository
在GitHub中,项目(可以在存储库中创建)和存储库之间的概念差异是什么?
我在SO中看到了几个类似的问题(这里,这里和这里),但没有一个解释什么是GitHub项目,什么是GitHub存储库以及何时使用它们中的每一个.
如果有人可以解释每个术语,并提供何时使用/创建每个术语的示例,我将不胜感激.例如,如果我有几个原型应用程序,它们彼此独立,我为了以有组织的方式管理所有这些应用程序的源代码,我创建了什么?
rsp*_*rsp 107
关于存储库和项目存在很多混淆.在过去,用户和GitHub自己的文档几乎可以互换使用这两个术语.这反映在这里的一些答案和评论中,这些答案和评论解释了这些术语之间的细微差别,以及何时优先于另一个术语.差异总是微妙的,例如问题跟踪器是项目的一部分但不是存储库的一部分,可能被认为是严格的git事物等.
目前,repos和项目是指具有单独API的不同类型的实体:
从那以后,将repo称为项目不再是正确的,反之亦然.请注意,它在官方文档中经常被混淆,不幸的是已经广泛使用的术语被选为新实体的名称,但事实并非如此,我们必须忍受这一点.
结果是回购和项目通常会混淆,每当您阅读GitHub项目时,您都不得不怀疑它是关于项目还是回购.如果他们选择了一些其他名称或缩写"proj",那么我们就可以知道所讨论的是新类型的实体,具有特定属性的精确对象,或者一般说再现的类似于项目的东西.
通常明确的术语是"项目委员会".
Projects API文档中的第一个端点:
被描述为:列出存储库项目.这意味着存储库可以包含许多项目.所以那两个不能代表同一件事.如果项目被禁用,它包括响应:
{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}
Run Code Online (Sandbox Code Playgroud)
这意味着一些回购可以禁用项目.再一次,当回购可以禁用项目时,那些不一样.
还有一些其他有趣的终点:
POST /repos/:owner/:repo/projectsPOST /orgs/:org/projects但没有:
POST /users/:user/projects这导致我们另一个不同:
1.存储库可以属于用户或组织
2.项目可以属于存储库或组织
或者,更重要的是:
1.项目可以属于存储库但不是相反的方式
2.项目可以属于组织但不
属于用户3.存储库可以属于组织和用户
也可以看看:
我知道这令人困惑.我试着尽可能准确地解释它.
oso*_*kit 68
GitHub最近推出了一项名为Projects的新功能.这提供了许多项目管理工具的典型可视板:

GitHub上记录的存储库:
存储库是GitHub的最基本元素.他们最容易被想象为项目的文件夹.存储库包含所有项目文件(包括文档),并存储每个文件的修订历史记录.存储库可以有多个协作者,可以是公共的也可以是私有的.
GitHub上记录的项目:
GitHub上的项目板可以帮助您组织工作并确定其优先级.您可以为特定功能工作,综合路线图甚至发布清单创建项目板.通过项目板,您可以灵活地创建满足您需求的定制工作流程.
令人困惑的部分原因是新功能Projects与上述文档中术语项目的重载使用冲突.
小智 12
GitHub存储库用于存储您关心的所有文件,文件夹和其他资源。
Git项目:它也是Git存储库中的资源之一,它的主要用途是使用可视面板管理项目。如果您在Git Repository中创建一个项目,它将创建一个看板(如看板)来管理该项目。
这样,您可以在存储库中拥有多个项目。
通常,在 GitHub 上,1 个存储库 = 1 个项目。例如:https : //github.com/spring-projects/spring-boot。但这不是硬性规定。
1 个存储库 = 许多项目。例如:https : //github.com/donhuvy/java_examples
1 个项目 = 许多存储库。例如:https : //github.com/zendframework/zendframework(1个名为 Zend Framework 3 的项目有 61 + 1 = 62 个存储库,不信?让我们算一下 Zend Frameworks 的模块 + 主存储库)
我完全同意@Brandon Ibbotson的评论:
GitHub 存储库只是一个可以存在文件夹和文件的“目录”。
我理解的概念差异是
那有意义吗?一个大的 repo 可以有很多项目同时被不同的人处理(很多不同的特性被添加到一个整体中),一个大的项目可能有许多小 repo,它们是独立的,但属于同一个项目的一部分,它们与每个人交互其他 - 微服务?它是对你想做的事情的个人看法。
我认为回购(存储)与项目(任务)是主要区别 - 如果我错了,请告诉我/解释!谢谢。