VS 2010、Git和具有多个项目的解决方案

VS 2010、Git和具有多个项目的解决方案,git,Git,我是否需要为每个项目创建一个存储库,还是只创建一个包含此解决方案中所有项目的存储库?根据您的需求,特别是项目之间的关系,您可以选择任何一种方式—如果项目位于同一个存储库中,则更容易在它们之间添加引用。如果它们位于不同的存储库中,则更容易使用不同的访问控制设置 如果项目在同一个解决方案中,那么您肯定会想要一个单一的存储库。我曾与Git合作过一个非常大的项目集(200+),其中应用程序是一组具有大量插件项目的核心项目。我们使用了Android的回购脚本(http://source.android.c

我是否需要为每个项目创建一个存储库,还是只创建一个包含此解决方案中所有项目的存储库?

根据您的需求,特别是项目之间的关系,您可以选择任何一种方式—如果项目位于同一个存储库中,则更容易在它们之间添加引用。如果它们位于不同的存储库中,则更容易使用不同的访问控制设置


如果项目在同一个解决方案中,那么您肯定会想要一个单一的存储库。

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


这对我们来说是必要的,因为我们有十几种不同产品的插件配置。这是一个相当光滑的工具。主要缺点是缺乏回购文档和可怕的名称选择(不利于搜索)。

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

单独的回购协议可能更容易进行访问控制,但gitolite很好,因为它可以通过分支和许多其他方式进行限制

稍后,您可以通过“git-rebase-root-to-branch1”将存储库和嫁接历史连接在一起。或者可以使用git过滤器分支将一个过滤器拆分为多个

这样我就不会太担心了。你使用git是有原因的。你可以稍后改变主意,仍然保留历史