Поделиться через


Сведения о ветвях и политиках ветви

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

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

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

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

Политика

По умолчанию

Описание


Выключено

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

Выключено

Стимулируйте прослеживаемость, проверяя связанные рабочие элементы в пулл-реквестах.

Выключено

Убедитесь, что все комментарии были разрешены в pull requests.

Выключено

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

Выключено

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

Выключено

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

Выключено

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

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

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

Следует требовать пул-реквесты для внесения изменений в эти ветви. Разработчики, вносящие изменения непосредственно в защищенные ветви, столкнутся с отклонением своих изменений.

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

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

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

Создание работы в ветвях

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

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

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

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

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

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

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

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

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

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

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

Визуализация ветки от main в Git

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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