Сведения о запросах на вытягивание

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

| Visual Studio 2022 | Visual Studio 2019 | Visual Studio 2017 Visual Studio 2015

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

В следующем видео показан общий процесс запроса на вытягивание. Некоторые термины и элементы пользовательского интерфейса могут не применяться к вашей версии Azure DevOps.

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

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

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

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

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

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

Примечание

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

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

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

Отзывы о качестве запросов на вытягивание

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

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

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

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

Рецензенты должны:

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

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

Политики ветвей и запросы на вытягивание

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

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

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

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

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

Политика

По умолчанию

Описание


Выкл.

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

Выкл.

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

Выкл.

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

Выкл.

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

Выкл.

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

Выкл.

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

Выкл.

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

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

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

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

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

Основная проблема с несколькими слиянием

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

Дальнейшие действия