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


Сведения о пулл-реквестах

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

Пулл-реквесты (PRы) — это способ изменения, проверки и слияния кода в репозитории Git в Azure Repos. Запросы на перенос (PR) могут поступать из ветвей в одном репозитории или из ветвей в форках репозитория. Команды используют PR для просмотра кода и отправки отзывов об изменениях перед слиянием кода в основную ветвь. Рецензенты могут пройти через предложенные изменения, оставить комментарии и проголосовать за утверждение или отклонение кода.

В этой статье описаны рекомендации по pull request и аспекты управления. Инструкции по созданию, просмотру, проверке и завершению pull-запросов см. в следующих статьях:

Примечание.

По соображениям производительности и стабильности количество рецензентов, которых можно добавить в «pull request» (запрос на изменение), должно быть 1000 или меньше. Новые pull-реквесты не будут созданы при добавлении более 1000 рецензентов, и в существующие pull-реквесты нельзя добавлять более 1000 рецензентов.

Разрешения и предварительные требования

  • Репозитории должны быть включены в вашем проекте. Если концентратор Repos и связанные страницы не отображаются, см. раздел "Включение или отключение службы Azure DevOps" для повторного включения Repos.

  • Чтобы просмотреть или пересмотреть PR, станьте участником проекта Azure DevOps с уровнем доступа не ниже базового.

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

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

Примечание.

Для общедоступных проектов пользователи, которым предоставлен доступ заинтересованных лиц , имеют полный доступ к Azure Repos.

  • Репозитории должны быть включены в вашем проекте. Если концентратор Repos и связанные страницы не отображаются, см. статью "Включение или отключение службы Azure DevOps", чтобы повторно включить Repos.
  • Чтобы просмотреть или пересмотреть PR, станьте участником проекта Azure DevOps с уровнем доступа не ниже базового. Если вы не член проекта, добавьте его.
  • Чтобы внести свой вклад в PR, необходимо быть членом группы безопасности читателей или иметь соответствующие разрешения.
  • Чтобы создать и завершить PR, нужно быть членом группы безопасности участников или иметь соответствующие разрешения.

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

Оценка качества пулл-реквестов

Качественные проверки начинаются с качественных отзывов. Вот некоторые ключи к эффективной обратной связи в PR:

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

Владельцы PR должны:

  • Обязательно выберите нужных рецензентов, чтобы назначить pr.
  • Включите рецензентов, которые знают, как работает код.
  • Попросите разработчиков работать в других областях, чтобы поделиться своими идеями.
  • Укажите четкое описание изменений.
  • Предоставьте инструкции для рецензентов с шаблонами pull-реквестов.
  • Предоставьте сборку кода с исправлением или компонентом, запущенным в нем.
  • Ответить на комментарии, принимая предложение или объясняя, почему предлагаемое изменение не является идеальным.
  • Для получения хороших предложений за пределами области pr, создайте новые рабочие элементы, ветви и PR, чтобы внести эти изменения.

Рецензенты должны выполнять следующие задачи.

  • Предоставление отзывов об изменениях, с которыми они не согласны
  • Определение проблем и предоставление конкретных предложений о том, что делать по-разному
  • Убедитесь, что обратная связь имеет четкий смысл и чтобы её было легко понять.
  • Оставьте комментарии или голосуйте по изменениям

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

Политики ветви и запросы на объединение

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

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

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

Чтобы сбросить голоса всякий раз, когда автор PR отправляет новые изменения, выберите Сброс голосов рецензентов кода при наличии новых изменений в политике ветки Требовать минимальное количество рецензентов.

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

Политика

По умолчанию

Description


Выключено

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

Выключено

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

Выключено

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

Выключено

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

Выключено

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

Выключено

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

Выключено

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

Дополнительные сведения см. в разделе:

Определение проверки состояния для улучшения качества кода

Пулл-реквесты и политики ветвления позволяют командам применять лучшие практики для рецензирования кода и запуска автоматических сборок. Многие команды имеют дополнительные требования и проверки для выполнения кода. Чтобы покрыть эти потребности, вы можете интегрировать проверки состояния PR в рабочий процесс PR. При проверке состояния PR внешние службы могут программно утвердить изменения кода, связав сведения об успешном выполнении или сбое с PR.

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

Базовая проблема, возникающая при нескольких слияниях

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

Следующие шаги