VS 2010,Git和包含多个项目的解决方案

问题描述:

是否需要为每个项目创建一个存储库或只包含此解决方案中所有项目的存储库?VS 2010,Git和包含多个项目的解决方案

这取决于您是否通过库或服务使用大量共享代码。如果你要共享不同版本的库,那么将它们分开并使用git子模块(如果你喜欢,可以通过git slave)更容易。如果你需要这些库是所有项目的最新版本(因为他们访问了一个通用的数据存储),那么你可以使用一个回购。

单独的回购可能会更容易做访问控制,但gitolite是伟大的,因为它可以通过分支和许多其他的事情来限制。

您可以稍后通过“git rebase --root --onto branch1”将储存库和移植历史连接在一起。或者你可以用git filter-branch将其中一个分割成多个。

所以我不会太多的汗水。你使用git是有原因的。您可以稍后改变主意,并保持历史记录。

根据您的要求,您可以采取任何一种方式,特别是项目相关的方式 - 如果项目位于同一个存储库中,则在它们之间添加引用更加容易。如果它们位于不同的存储库中,则更容易拥有不同的访问控制设置。

如果项目使用相同的解决方案,但您肯定需要单个存储库。

我和Git一起工作了一个非常大的项目集(200+),其中应用程序是一组核心项目,有很多插件项目。我们使用Android的回购脚本(http://source.android.com/source/git-repo.html)来帮助管理它们。

这对我们来说是必要的,因为我们对不同的产品有十几个插件配置。这是一个非常漂亮的工具。主要缺点是缺乏回购文件和可怕的名称选择(不友好搜索)。