如何在Visual Studio Online(TFS)中分支我的解决方案?

3
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我在Visual Studio 2015中有一个相当复杂的解决方案。它使用Visual Studio Online进行源代码控制,TFS作为源代码控制机制。

结构如下:

DefaultCollection
    Team Project Root
        |
        ----Web Apps Folder
              |
              ----Web Application 1
                    |
                    ----WebApplication1.csproj
              |
              ----Web Service 1
              |
              ----Web Service 2
        |
        ----Winforms Folder
              |
              ----Winforms App 1
              |
              ----Winforms App 2
        |
        ----Common Files Folder
        MySolution.sln

MySolution.sln位于团队项目根目录中,该解决方案包含其中的所有各种应用程序,这些应用程序是Web应用程序、Web服务和Windows应用程序的混合体。

我的问题是,我对分支不熟悉,我想分支整个解决方案,但我认为我的SLN文件位于根目录将使这很困难?

我需要分支Web应用程序1,并且我知道我可以分支Web应用程序1。 但是为了运行它,我需要创建一个新的解决方案文件来包含它,这会弄乱事情。

在这种情况下,是否有一种方法可以从整个解决方案进行分支,或者我必须尝试以某种方式重新组织结构?

2个回答

8
我会在团队项目根目录下创建一个名为Main的新文件夹(TFS规范,SVN中称为trunk,git中称为master)。
然后将团队项目根目录中的所有项目移动到该Main文件夹中。
这样你的结构就变成了:
DefaultCollection
    Team Project Root
        |--Main
          |--Web A pps Folder
            |--stuff     
          |--Winforms Folder
            |--stuff
          |--Common Files Folder
          MySolution.sln

现在,您可以右键单击Main文件夹,并从分支和合并子菜单中选择转换为分支

enter image description here

现在您可以右键单击 Main 分支,然后从 分支和合并 子菜单中选择 分支...

enter image description here


谢谢Dave,这听起来就是我最初设置解决方案时所缺少的东西。我已经在一个测试项目上尝试过了,看起来它会让我走上正确的轨道。我还花了一些时间阅读了ALM Rangers指南,链接在这里 - http://vsarbranchingguide.codeplex.com/ 非常推荐的材料。 - Richard Moore
值得一提的是,在TFS中移动文件夹时,该文件夹的所有更改历史记录都将丢失,这使得该功能完全无用。 - Sandor

-1

你的结构应该是:

  • 团队项目集根目录
    • 团队项目 A 根目录
      • 源文件夹
      • 源文件夹
    • 团队项目 B 根目录
      • 源文件夹
      • 源文件夹

你不能在团队项目集或团队项目根级别上进行分支。你需要先将源代码移动到一个新文件夹中,然后才能进行分支。


我明白你的意思。我认为我的问题并不是很清楚,在VSO中似乎有以下内容:DefaultCollection->My TFS Repository。从你的话来看,我的.sln文件在团队项目根目录下? - Richard Moore
我已经更新了我的问题,以更好地反映层次结构 - 谢谢。 - Richard Moore
实际上尝试在团队项目根目录分支,但出现错误 - “目标项...不能在源项下...”,所以这样行不通。您需要将代码移动到新文件夹,然后再进行分支。同时更新答案。 - chief7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接