【问题标题】:Tracking multiple sub-projects using Visual Studio 2012 git使用 Visual Studio 2012 git 跟踪多个子项目
【发布时间】:2013-03-01 11:32:13
【问题描述】:

我一直在努力解决(至少在我看来)应该简单的事情:

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

两个存储库独立运行良好。

但是,当我“添加现有项目”/SubLibrary 到我的 MainProgram 解决方案时,Visual Studio 根本没有对 SubLibrary 进行“git-monitored” - 解决方案资源管理器等中没有覆盖状态图标 - 就好像那个项目是不受源代码控制。

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

.gitmodules 文件看起来不错(但你可以知道我不是 git 大师!).....

当然,必须可以在单个解决方案中对多个项目/存储库进行版本控制!

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

【问题讨论】:

    标签: visual-studio git version-control


    【解决方案1】:

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

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

    我过去做过的事情:

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

    通过这种方式,您不会有一个单一的解决方案,但您将能够在每个单独的存储库中跟踪您的更改。

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      相关资源
      最近更新 更多