使用Visual Studio 2012 git跟踪多个子项目

时间:2013-03-01 11:32:13

标签: visual-studio git version-control

我一直在努力(至少在我看来)应该是简单的:

我有两个项目,“MainProgram”和“SubLibrary”。两者都是使用新的Visual Studio 2012 Git支持使用Git Repository创建的。

两个存储库都可以独立工作。

然而,当我将“添加现有项目”/子图书馆添加到我的MainProgram解决方案时,SubLibrary根本没有被Visual Studio“git-monitoring” - 在解决方案资源管理器等中没有重叠状态图标 - 就好像那个项目是不受源头控制。

通过一些研究,我在MainProgram repo中添加了一个git子模块,将SubLibrary项目的克隆版本添加到解决方案中......解决方案资源管理器中的git-icons出现了!! ...但我的喜悦是短暂的.....没有历史,改变的文件的状态没有在解决方案资源管理器中显示。然而,TortoiseGit从文件资源管理器中获取了这些更改。

.gitmodules文件看起来不错(但是你可以收集我不是git guru!).....

当然,必须能够在单个解决方案中对多个项目/回购进行版本控制!

如果有人能指出我正确的方向,我会非常感激!

1 个答案:

答案 0 :(得分:0)

在Git中,通常拥有较小的存储库。典型的存储库将包含单个项目,而TFS和Subversion往往在单个存储库中具有多个项目。

这将导致你描述的情况。目前,据我所知,Visual Studio(和TFS)中没有git多存储库支持。当每个项目都驻留在自己的Git存储库中时,根本不可能有一个包含多个项目的解决方案。

我过去做过的事情:

  • 我创建了一个充当根
  • 的目录
  • 在该目录中为每个项目创建一个子目录
  • 将每个git存储库克隆到各自的子目录
  • 在项目中使用带有相对路径的文件引用来添加引用
  • (可选)创建一个MSBuild文件,以正确的顺序构建所有解决方案。这样,您就可以使用多个Git存储库创建构建。

您不会以这种方式获得单一解决方案,但您可以在每个存储库中跟踪您的更改。

希望这会对你有所帮助。