VS 2010,Git和多项目解决方案

时间:2010-10-26 00:56:38

标签: git

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

3 个答案:

答案 0 :(得分:3)

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

单独的回购可能更容易进行访问控制,但是gitolite很棒,因为它可以通过分支和许多其他东西来限制。

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

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

答案 1 :(得分:1)

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

如果项目在同一个解决方案中,您肯定需要一个存储库。

答案 2 :(得分:0)

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

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