什么是VCS存储库?

29

这可能听起来是一个愚蠢的问题。尤其是因为我以前用过 SVN,最近也用了 Git。

但我突然意识到我并不确定仓库是什么。

我认为仓库就是一种容器,用于存放项目代码。我相当肯定这是错误的定义方式。

那么你会如何定义仓库呢?维基百科说存储软件包的位置,可以从中检索并安装在计算机上

这是否意味着您可以在一个仓库中拥有多个项目?如果是这样,那么什么时候需要创建一个新的仓库呢?


一个仓库是一个地方,你可以把东西丢进去,比如书。维基百科的定义是指存储软件包的地方。一个“版本控制系统仓库”是一个地方,你可以存储你的项目及其历史记录。 - undefined
2个回答

18

维基百科的定义是正确的。想象一下一个仓库,从中您会安装Linux软件包。至于VCS,它代表版本控制系统,因此VCS存储库是像Git这样的版本控制系统的存储库。


2
“repository”的维基百科定义是正确的。《Pro Git》一书对版本控制系统有一个非常好的描述。是的,您可以在一个存储库中拥有多个项目。

为什么我想要一个存储库里有多个项目?难道不是每个项目都应该放在不同的存储库中吗? - matanc1
1
使用 git,每个仓库通常只包含一个项目,尽管有可能包含多个项目。git 的设计目标之一是使处理许多小型单项目存储库变得更加容易。在以前的日子里,使用像 cvssvn 这样的工具,拥有一个包含多个项目的大型集中式存储库是更为常见的 - 集中式结构往往使其更经济实惠。 - twalberg
@Shookie,这主要是基于用例的。您可以选择为不同项目使用不同的存储库,也可以为不同项目使用一个单一的存储库。我见过这两种方法都被采用。 - user376507
我偶然发现了这个老问题,所以我想解决一下:为什么我想要一个存储库中有多个项目?这种做法通常被称为单体库,现在许多公司都在使用。维基百科介绍了这种做法的优缺点。 - user1527152

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接