Папки и файлы ветви

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Для выполнения следующих целей можно использовать ветви:

  • Управление параллельной работой несколькими командами в одной базе кода.
  • Изоляция рисков, введенных различными наборами изменений в базе кода.
  • Создание моментальных снимков и поддержка последующих изолированных изменений (например, для создания ветви выпуска).

Например, на следующем рисунке показана структура филиала, разработанная компанией DinnerNow для удовлетворения своих бизнес-потребностей.

Схема, показывющая структуру ветви.

Команда компонентов A и команда компонентов B каждая из них выполняет свою работу в отдельных филиалах. Когда команды готовы интегрировать свою работу, они объединяют ветви в ветвь разработки. Когда сборки из ветви разработки стабильны и готовы к тестированию, команды объединяют ветвь Dev в ветвь Test.

По мере выпуска каждой версии ветвь Main ветвится в новую ветвь версии, например ветвь Version1 и ветвь Version2. Следуя этой стратегии, компания может улучшить или исправить каждую последнюю версию продукта отдельно при необходимости.

Вы можете выполнить операцию ветвления с помощью Обозреватель управления версиями Visual Studio, как показано в этой статье, или branch команды в командной строке. Дополнительные сведения см. в разделе "Команда ветви".

Совет

Ветвление — это важный и мощный способ создания параллельного набора версий файлов. Однако использование ветвей может добавить сложность и стоимость проекта. Например, при слиянии двух ветвей может потребоваться устранить конфликты.

Прежде чем создавать ветвь, следует рассмотреть возможность лучшего удовлетворения потребностей, применяя метку. Применив метку, вы можете быстро и легко создать моментальный снимок состояния файлов, чтобы затем можно было позже получить или создать файлы в этом состоянии. Дополнительные сведения см. в разделе "Использование меток для создания моментального снимка файлов".

Необходимые компоненты

  • Чтобы преобразовать папку в ветвь, разрешение "Управление ветвью " должно иметь значение Allow.
  • Чтобы ветвить ветвь, необходимо задать разрешение "Управление ветвью" для пути к исходной и целевой ветвям. Разрешение слияния для пути целевой ветви должно иметь значение Allow.
  • Чтобы ветвить папку или файл, необходимо задать разрешение "Проверить" и разрешение "Слияние" для целевого пути.

Дополнительные сведения см. в разделе "Разрешения TFVC по умолчанию".

Преобразование папки в ветвь

Ветви отличаются от папок. На следующем рисунке показан верхний уровень структуры папок DinnerNow в visual Studio Source Control Обозреватель.

Иллюстрация, показывающая структуру папок в Обозреватель системы управления версиями.

Как показано на рисунке, можно по-прежнему использовать папки для упорядочивания ветвей в иерархии управления версиями проекта. Однако папки и ветви имеют разные возможности внешнего вида и различных возможностей. Щелкнув правой кнопкой мыши папку или ветвь, выберите "Дополнительные>свойства", отображаются различные сведения и различные функции.

При выполнении операций ветви ветвей имеют важные преимущества по сравнению с папками. Ветви поддерживают функции управления версиями, обеспечивающие дополнительную видимость структуры ветви и место объединения наборов изменений. Хотя вы по-прежнему можете ветвить и объединить между папками, рекомендуется для вашей команды ветвь и слияние только между ветвями. В следующей процедуре объясняется, как преобразовать папку в ветвь.

Внимание

Убедитесь, что на сервере существует папка, которую требуется преобразовать. Если значок Значок состояния ожидания добавления TFSC. ожидающего добавления отображается рядом с папкой в системе управления версиями Обозреватель, щелкните правой кнопкой мыши папку и выберите "Проверить ожидающие изменения".

  1. В Обозреватель системы управления версиями щелкните правой кнопкой мыши папку, которую требуется преобразовать, и выберите "Ветвь" и "Объединение преобразования в ветвь>".

  2. В диалоговом окне "Преобразование папки в ветвь ":

    • В поле "Владелец" при необходимости введите имя пользователя, которому принадлежит эта ветвь. Это поле предназначено только для сведений и не предоставляет разрешений.
    • В поле "Описание" при необходимости введите сведения, чтобы помочь другим участникам команды использовать эту ветвь или понять ее назначение.
    • Если вы преобразуете уже ветвленную папку, выберите рекурсивно выполнить это преобразование для всех вложенных дочерних папок проверка box. Этот параметр преобразует все папки, которые были ветвлены из этой одной папки в ветви.
  3. Выберите Преобразовать.

Внимание

Вы не можете вложить ветви. Поэтому невозможно преобразовать папку в ветвь, если она содержит или содержится в ветви. Например, на следующем рисунке показано, что ни родительский, ни дочерний элемент ветви FeatureTeamA не могут быть преобразованы в ветвь.

Иллюстрация, показывающая, что вложенные ветви не допускаются.

После преобразования папки в ветвь ее можно преобразовать обратно в папку, если команда решит изменить структуру ветви.

Преобразование ветви в папку

  1. В Обозреватель системы управления версиями выберите ветвь, которую требуется преобразовать.
  2. В меню "Файл Visual Studio" выберите "Ветвление>системы управления версиями>" и "Объединение преобразования в папку", а затем нажмите кнопку "Да".

Ветвь ветви

После преобразования папки в ветвь можно создать другие ветви из этой ветви. В следующей процедуре показано, как использовать Visual Studio для ветвления ветви. Чтобы выполнить эту задачу в командной строке, ознакомьтесь с командой Branch.

  1. В Обозреватель системы управления версиями щелкните правой кнопкой мыши ветвь, которую хотите ветвить, и выберите Branching и Merging>Branch.

  2. В диалоговом окне ">Ветвь из ветви" в разделе "Ветвь из <версии" (При необходимости) в раскрывающемся списке выберите вариант:

    • Последняя версия создает ветвь для последней версии в элементе управления версиями.
    • Набор изменений позволяет ввести номер набора изменений вполе "Набор изменений" или выбрать многоточие ... для открытия диалогового окна "Поиск наборов изменений". Дополнительные сведения см. в разделе "Поиск и просмотр наборов изменений".
    • Дата позволяет ввести или выбрать дату в поле "Дата ".
    • Метка позволяет ввести или найти метку. Дополнительные сведения см. в разделе "Использование меток для создания моментального снимка файлов".
    • Версия рабочей области позволяет создать ветвь для версии в другой рабочей области.
  3. В разделе "Имя целевой ветви" укажите или перейдите и выберите путь новой ветви.

  4. Выберите ветвь. Ветвь создается и отображается в Обозреватель системы управления версиями.

Примечание.

В отличие от большинства операций управления версиями, эта операция не создает ожидающие изменения. Скорее, операция завершается немедленно, и ее невозможно отменить.

Ветвление папки или файла

Хотя вы можете ветвить папку или файл напрямую, рекомендуется избежать этого. Если вы ветвите файл или папку напрямую, вы не сможете просматривать иерархию ветвей или отслеживать наборы изменений. Рекомендуется использовать ветвь и слияние только между ветвями, как описано ранее в этой статье.

Но если у вас есть специальная необходимость ввести папку или файл, можно использовать следующую процедуру. Чтобы выполнить эту задачу в командной строке, ознакомьтесь с командой Branch.

  1. В Обозреватель системы управления версиями щелкните правой кнопкой мыши папку или файл, который вы хотите ветвить, и выберите Branching и Merging>Branch.

  2. В диалоговом окне "Ветвь" в поле "Целевой объект" измените расположение и имя новой ветви или выберите "Обзор", чтобы перейти к целевому объекту и выбрать его.

  3. В разделе "Ветвь из версии" при необходимости раскрывающийся список и выберите параметр из списка "По".

    • Последняя версия создает ветвь для последней версии в элементе управления версиями.
    • Набор изменений позволяет ввести номер набора изменений вполе "Набор изменений" или выбрать многоточие ... для открытия диалогового окна "Поиск наборов изменений". Дополнительные сведения см. в разделе "Поиск и просмотр наборов изменений".
    • Дата позволяет ввести или выбрать дату в поле "Дата ".
    • Метка позволяет ввести или найти метку. Дополнительные сведения см. в разделе "Использование меток для создания моментального снимка файлов".
    • Версия рабочей области позволяет создать ветвь для версии в другой рабочей области.
  4. При необходимости выберите "Скачать целевой элемент в рабочую область ", чтобы создать копию элемента, управляемого версией, в локальной рабочей области. Снимите флажок проверка, если вам не нужна локальная копия, и вы хотите повысить производительность, не скачав много элементов на компьютер.

  5. Нажмите ОК. Ветвь создается и отображается в Обозреватель системы управления версиями.

    Примечание.

    Откроется окно "Обзор папки ", если выбран параметр "Скачать целевой элемент" в рабочую область , а указанная локальная папка не сопоставлена в текущей рабочей области. Найдите папку или выберите "Создать папку", укажите папку для синхронизации с элементами, управляемыми версией, и нажмите кнопку "ОК".