在GitHub中,项目(可以在存储库中创建)和存储库之间的概念区别是什么?
我在SO中看到过几个类似的问题(这里,这里和这里),但没有一个解释了什么是GitHub项目,什么是GitHub存储库,以及什么时候使用它们。
如果有人能解释每个术语,并提供一个何时使用/创建每个术语的示例,我会很感激。例如,如果我有几个相互独立的原型应用程序,为了以有组织的方式管理所有这些应用程序的源代码,我应该创建什么?
在GitHub中,项目(可以在存储库中创建)和存储库之间的概念区别是什么?
我在SO中看到过几个类似的问题(这里,这里和这里),但没有一个解释了什么是GitHub项目,什么是GitHub存储库,以及什么时候使用它们。
如果有人能解释每个术语,并提供一个何时使用/创建每个术语的示例,我会很感激。例如,如果我有几个相互独立的原型应用程序,为了以有组织的方式管理所有这些应用程序的源代码,我应该创建什么?
当前回答
GitHub存储库用于存储您所关心的所有文件、文件夹和其他资源。
Git项目:它也是Git资源库中的资源之一,主要用途是用一个可视化的板来管理项目。如果你在Git仓库中创建一个项目,它会创建一个类似看板的可视化板来管理项目。
通过这种方式,您可以在存储库中拥有多个项目。
其他回答
一般来说,在GitHub上,1个存储库= 1个项目。例如:https://github.com/spring-projects/spring-boot。但这并不是一个严格的规则。
1个存储库=许多项目。例如:https://github.com/donhuvy/java_examples
1个项目=许多存储库。例如:https://github.com/zendframework/zendframework(一个名为Zend Framework 3的项目有61 + 1 = 62个存储库,不相信吗?计算Zend框架的模块+主存储库)
我完全同意@Brandon Ibbotson的评论:
GitHub存储库只是一个文件夹和文件可以存放的“目录” 存在。
这是我个人对这个话题的理解。
对于一个项目,我们可以通过不同的存储库进行版本控制。对于存储库,它可以管理整个项目或项目的一部分。
关于你的项目(几个独立的原型应用程序)。您可以通过一个存储库或多个存储库管理项目,区别在于:
通过一个存储库进行管理。如果其中一个应用程序被更改,整个项目(所有应用程序)将被提交到一个新版本。 由多个存储库管理。如果一个应用程序被更改,它只会影响管理该应用程序的存储库。其他存储库的版本没有更改。
GitHub最近推出了一个名为Projects的新功能。这提供了一个典型的项目管理工具的可视化板:
GitHub上记录的存储库:
存储库是GitHub最基本的元素。它们最容易 想象成一个项目的文件夹。存储库包含所有的 项目文件(包括文档),并存储每个文件的 修订历史。存储库可以有多个合作者 要么公开要么私人。
一个在GitHub上记录的项目:
GitHub上的项目板可以帮助你组织工作并确定优先级。您可以为特定的特性工作创建项目板、全面的路线图,甚至是发布清单。使用项目板,您可以灵活地创建适合您需求的定制工作流。
造成这种混乱的部分原因是新特性Projects与上面文档中术语project的重载使用相冲突。
读了对这个问题的回答,我得出的结论是,这两个术语是可以互换的,没有人能够以一种清晰易懂的方式区分这两个术语!
GitHub存储库用于存储您所关心的所有文件、文件夹和其他资源。
Git项目:它也是Git资源库中的资源之一,主要用途是用一个可视化的板来管理项目。如果你在Git仓库中创建一个项目,它会创建一个类似看板的可视化板来管理项目。
通过这种方式,您可以在存储库中拥有多个项目。