我在 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 进行分支。但是为了运行它,我需要创建一个新的解决方案文件来包含它,这会使事情变得混乱。
有没有办法让我从这个场景中分支整个解决方案,或者我是否必须尝试以某种方式重新构建事物?
我会在团队项目根目录创建一个名为
Main
的新文件夹(TFS 约定,SVN 是主干,git 是主干)。
然后将团队项目根目录中的所有项目移至该
Main
文件夹中。
所以你的结构现在是:
DefaultCollection
Team Project Root
|--Main
|--Web A pps Folder
|--stuff
|--Winforms Folder
|--stuff
|--Common Files Folder
MySolution.sln
现在您可以右键单击
Main
文件夹,然后从 分支和合并 子菜单中选择 转换为分支。
现在您可以右键单击
Main
分支,然后从分支和合并子菜单中选择分支...
你的结构应该是:
您不能在团队项目集合或团队项目根级别进行分支。 您必须先将源移动到新文件夹,然后才能进行分支。