Структурирование проектов и решений в системе контроля версий Team Foundation Server (TFS) - Ветвление папок

ОГЛАВЛЕНИЕ

Ветвление папок

Изолированность разработки обеспечивается ветвлением. Для этого на одном уровне с папкой Main создаются дополнительные папки. Также, чтобы обеспечить разработчикам возможность работать с различными вариантами группировки проектов, в папке Main можно разместить дополнительные файлы решений Visual Studio (.sln). Ветви, созданные от папок исходного кода Main, могут использоваться для продолжения обслуживания выпущенных версий продукта или поддержки параллельных потоков разработки.

В следующем примере структуры каталогов для обеспечения изолированности по функциональности или по группам, кроме корневой папки Main, используется папка Development (Разработка) (ответвление Main). Папка Releases (Выпускаемые версии), являющаяся контейнером веток версий, готовых к выпуску (опять же, ответвление Main), обеспечивает изолированность выпускаемых сборок, текущую версию которых необходимо фиксировать, но которые необходимо продолжать обслуживать.

$MyTeamProject1 
    /Development
        /FeatureBranch1
            /Source
            /MyApp
        /FeatureBranch2
            /Source
            /MyApp
    /Main
        /Source
    /Releases
        /Release1 – Обслуживание
            /Source
                /MyApp
        /Release2 – Обслуживание
            /Source
                /MyApp
        /Release3 – Фиксированная текущая версия, готовая к выпуску
            /Source
                /MyApp

Примечание: Не следует выполнять ветвление без крайней необходимости. Если нужно, можно маркировать версию меткой и выполнить ветвление позже. Более подробно о группировке проектов и структуре решений рассказывается в Главе 3 «Структурирование проектов и решений в системе контроля версий».
Более подробно сценарии ветвления и соответствующие им структуры каталогов рассматриваются в Главе 5 «Выбор стратегии ветвления и слияния».