О ветвях и политиках ветвей

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Политики ветвей являются важной частью рабочего процесса Git и позволяют:

  • Изоляция выполняемых работ от завершенных работ в главной ветви
  • Обеспечение сборки изменений до того, как они получите основную
  • Ограничение пользователей, которые могут вносить свой вклад в определенные ветви
  • Принудительное применение пользователей, которые могут создавать ветви и рекомендации по именованию для ветвей
  • Автоматически включать нужных рецензентов для каждого изменения кода
  • Применение рекомендаций с помощью обязательных рецензентов кода

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

Политика

По умолчанию

Описание


Выключено

Требовать утверждения от указанного числа рецензентов в запросах на вытягивание.

Выключено

Поощрение трассировки путем проверки связанных рабочих элементов в запросах на вытягивание

Выключено

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

Выключено

Журнал ветви управления путем ограничения доступных типов слияния при завершении запросов на вытягивание.

Выключено

Добавьте одну или несколько политик для проверки кода путем предварительного объединения и создания изменений запроса на вытягивание. Также может включать или отключать политики.

Выключено

Добавьте одну или несколько политик, чтобы требовать от других служб опубликовать состояние успешного выполнения запросов на вытягивание. Также может включать или отключать политики.

Выключено

Добавьте одну или несколько политик для назначения рецензентов кода для автоматического включения при изменении определенных областей кода запросов на вытягивание. Также может включать или отключать политики.

Принятие стратегии ветвления Git

В репозитории есть несколько критически важных ветвей, которые команда всегда использует в хорошей форме, например ветвь main .

Запросы на вытягивание требуют внесения изменений в этих ветвях. Если разработчики передают изменения непосредственно в эти защищенные ветви, эти изменения будут отклонены.

Оставьте стратегию филиала простой, создав стратегию на основе этих трех концепций:

  1. Используйте ветви возможностей для всех новых возможностей и исправления ошибок.
  2. Объединение ветвей функций в главную ветвь с помощью запросов на вытягивание.
  3. Следите за высоким качеством, актуальной основной ветвью.

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

Создание рабочих элементов в ветвях

Ветви Git не намного больше, чем небольшая ссылка, которая хранит точную историю фиксаций, поэтому они дешевы для создания.

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

Вы можете создать новые ветви, чтобы изолировать изменения для компонента или исправления ошибок из основной ветви и другой работы.

Так как ветви являются упрощенными, переключение между ветвями выполняется быстро и легко. Git не создает несколько копий исходного кода при работе с ветвями. Он использует сведения журнала, хранящиеся в фиксациях, для повторного создания файлов в ветви при запуске работы с ним.

Рабочий процесс Git должен создавать и использовать ветви для управления функциями и исправлениями ошибок.

Остальная часть рабочего процесса Git, например общий доступ к коду и просмотр кода с запросами на вытягивание во всех ветвях.

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

Как создаются ветви Git?

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

При работе с ветвью, к которой предоставлен доступ другой пользователь, Git сохраняет вышестоящую связь отслеживания. Связь связывает ветвь в локальном репозитории с соответствующей ветвью в удаленном репозитории.

Отслеживание вышестоящего потока упрощает синхронизацию изменений с другими пользователями с помощью push-уведомлений и извлечения.

Визуальный элемент ветви от main в Git

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

Git всегда добавляет новые фиксации в текущую локальную ветвь. Проверьте, над какой ветвью вы работаете перед фиксацией, чтобы не фиксировать изменения в неправильной ветви.

Переключение между локальными ветвями с помощью checkout команды. Git изменит файлы на компьютере в соответствии с последней фиксацией в извлеченной ветви.

Когда ваша работа в ветви готова к совместному использованию с остальной частью команды, вы отправляете изменения, чтобы обновить удаленную ветвь.

Распространенная ошибка заключается в том, чтобы внести некоторые изменения и commit они, понять, что вы находитесь в неправильной ветви, а затем checkout в правильную ветвь.

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

Git возвращает состояние файлов к последней фиксации в ветви, в которую вы переключились, а не в предыдущую ветвь, в которую вы внесли изменения.

Вам потребуется выбрать фиксации из ветви или объединить изменения в правильную ветвь.

Использование ветвей для управления разработкой

Git отслеживает, над какой ветвью вы работаете, и гарантирует, что при checkout ветвях файлы соответствуют самой последней фиксации в ветви.

Ветви позволяют одновременно работать с несколькими версиями исходного кода в одном локальном репозитории Git.

Сообщите Git, с какой ветвью вы хотите работать checkout, и Git отвечает за настройку правильных версий файлов для этой ветви.

При использовании ветвей для изоляции работы не требуется более одного репозитория в системе.

Настройте среду разработки один раз после клонирования. Затем используйте ветви Git для переключения между работой компонентов и исправлением ошибок.

Ветвление руководства

Узнайте, как выполнять стандартные задачи при работе с ветвями.