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

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

Visual Studio 2019 | Visual Studio 2022

Создание запросов на вытягивание (PR) для изменения, проверки и слияния кода в репозитории Git. Запросы на запросы можно создавать из ветвей в репозитории вышестоящий или из ветвей в вилке репозитория. Ваша команда может просматривать РС и оставлять отзывы об изменениях. Рецензенты могут выполнить предложенные изменения, оставить комментарии и проголосовать за утверждение или отклонение ЗАПРОСОВ. В зависимости от политик ветвей и других требований запрос на вытягивание может соответствовать различным критериям, прежде чем вы сможете выполнить запрос на вытягивание и объединить изменения в целевую ветвь.

Рекомендации по запросам на вытягивание и рекомендации по управлению см. в статье Сведения о запросах на вытягивание.

Предварительные требования

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

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

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

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

    Примечание

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

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

Создание запроса на включение изменений

Вы можете создать запрос на вытягивание на веб-сайте проекта Azure DevOps, из Visual Studio или с помощью Azure DevOps CLI.

На веб-сайте проекта Azure DevOps можно создать новый запрос на вытягивание из:

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

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

  1. На страницеЗапросы на вытягиваниеRepos> выберите Новый запрос на вытягивание в правом верхнем углу.

    Снимок экрана: кнопка

  2. Выберите ветвь с изменениями и ветвь, в которую вы хотите объединить изменения, например ветвь main.

    Снимок экрана: исходная и целевая ветви для P R в Azure Repos.

  3. Введите сведения о запросе на вытягивание и создайте запрос на вытягивание.

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

После отправки или обновления ветвь компонента Azure Repos отображает запрос на создание запроса на вытягивание.

  • На странице Запросы на вытягивание :

    Снимок экрана: запрос на создание P R на вкладке

  • На странице Файлы :

    Снимок экрана: запрос на создание P R на вкладке

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

После отправки или обновления ветвь компонента Azure Repos предложит создать запрос на вытягивание в представлении кода в Интернете. Этот запрос отображается в параметрах "Запросы на вытягивание " и "Файлы".

Снимок экрана: запрос на создание P R на вкладке

Снимок экрана: запрос на создание P R на вкладке

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

Создание запроса на вытягивание из связанного рабочего элемента

Вы можете создать запрос на вытягивание непосредственно из Azure Boards рабочего элемента, связанного с ветвью.

  1. В Azure Boards откройте рабочий элемент, связанный с ветвью, в разделе Невыполненная работа или Запросы в представлении Труд.

  2. В области Разработка рабочего элемента выберите Создать запрос на вытягивание.

    Снимок экрана: создание запроса на вытягивание из области разработка рабочего элемента со связанной ветвью.

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

Добавление обновлений с помощью cherry-pick

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

Чтобы выбрать изменения из завершенного запроса на вытягивание, выберите Cherry-pick на странице Обзор запроса. Чтобы скопировать изменения из активного запроса на вытягивание, выберите Cherry-pick в меню Дополнительные параметры запроса. Это действие создает новую ветвь с скопированными изменениями. Затем можно создать запрос на вытягивание из новой ветви. Подробные инструкции см. в разделе Копирование изменений с помощью cherry-pick.

Переключение исходной и целевой ветвей запроса на вытягивание

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

Снимок экрана: значок переключения исходной и целевой ветвей.

Использование шаблонов запросов на вытягивание

Шаблон запроса на вытягивание — это файл, содержащий текст Markdown, который заполняет описание запроса на вытягивание при создании запроса на вытягивание. Хорошие описания запросов на вытягивание сообщают рецензентам о том, чего следует ожидать, и могут помочь отслеживать такие задачи, как добавление модульных тестов и обновление документации. Ваша команда может создать шаблон запроса на вытягивание по умолчанию, который добавляет текст ко всем новым описаниям запроса в репозитории. Кроме того, вы можете выбрать один из шаблонов для конкретных ветвей или других шаблонов, определенных командой. Дополнительные сведения о создании и использовании шаблонов запроса на вытягивание см. в разделе Улучшение описания запросов на вытягивание с помощью шаблонов.

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

Снимок экрана: добавление шаблона при создании P R.

Создание черновика запроса на запросы

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

Черновик prs имеет следующие отличия от опубликованных PRs:

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

  • Голосование отключено в режиме черновика.

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

  • Черновик запросов на вытягивание отображается в списке запросов с индикатором черновика .

    Снимок экрана: черновик P R в списке P R.

Примечание

Для создания черновиков PRS требуется обновление Azure DevOps Server 2019.1 или более поздней версии.

Чтобы создать черновик запроса на вытягивание, щелкните стрелку рядом с кнопкой Создать и выберите Создать как черновик при создании запроса на вытягивание. Вам не нужно использовать префиксы заголовков, например WIP или DO NOT MERGE.

Снимок экрана: создание в виде черновика P R.

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

Снимок экрана: публикация для P R.

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

Снимок экрана: пометить как черновик.

Примечание

Для этой функции требуется обновление Azure DevOps Server 2019.1 или более поздней версии.

Добавление или изменение заголовка и описания запроса на вытягивание

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

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

Снимок экрана, на котором показано создание нового P R.

Добавление сведений в новый P R.

Не беспокойтесь, если при создании запроса на вытягивание не готовы все рабочие элементы, рецензенты или сведения. Эти элементы можно добавить или обновить после создания запроса на вытягивание.

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

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

Вы можете обновить название существующего запроса на вытягивание, выбрав текущее название и обновив текст. Щелкните значок Сохранить , чтобы сохранить изменения, или значок Отменить , чтобы отменить изменения.

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

Снимок экрана: изменение заголовка P R и нажатие кнопки

Добавление рецензентов в запрос на вытягивание

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

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

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

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

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

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

  1. На странице Новый запрос на вытягивание в разделе Рецензенты выберите Поиск пользователей и групп для добавления в качестве рецензентов.
  2. При вводе имени или адреса электронной почты в раскрывающемся списке отображается список соответствующих пользователей и групп. Выберите имена из списка для добавления в качестве необязательных рецензентов.
  3. Чтобы добавить необходимых рецензентов, выберите Добавить необходимых рецензентов, а затем щелкните Поиск, чтобы добавить необходимых рецензентов для поиска и выбора имен.

Снимок экрана: добавление рецензента в новый P R.

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

  1. В разделе Рецензенты на странице Обзор выберите Добавить, а затем — Обязательный рецензент или Необязательный рецензент.

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

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

    Добавление рецензента P R.

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

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

  1. Выберите вкладку Обзор в запросе на вытягивание.

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

  2. Нажмите кнопку добавить в области Рецензенты .

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

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

    Добавление рецензента запроса на вытягивание

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

  1. На странице Новый запрос на вытягивание в разделе Рабочие элементы для ссылки выберите Поиск рабочих элементов по идентификатору или названию.
  2. Начните вводить идентификатор или название рабочего элемента, а затем выберите рабочий элемент для ссылки в появившемся раскрывающемся списке. Поиск по названию возвращает рабочие элементы, отфильтрованные по состоянию; все рабочие элементы с состояниями с категориями состояния Completed и Removed исключаются. Эти рабочие элементы также фильтруются по дате и пользователю, при этом отображаются только элементы, созданные или обновленные за последние 30 дней, и они должны быть созданы, назначены или авторизованы в качестве текущего пользователя.

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

  1. На вкладке Обзор запроса на вытягивание в области Рабочие элементы выберите +.

    Снимок экрана: выбор вкладки

  2. Введите идентификатор рабочего элемента или найдите заголовок рабочего элемента. Выберите рабочий элемент в появившемся списке.

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

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

  1. Перейдите на вкладку Обзор в запросе на вытягивание.

    Снимок экрана: выбор вкладки

  2. Нажмите кнопку добавить в области Рабочие элементы . Значок добавления в PRs

  3. Введите идентификатор рабочего элемента или выполните поиск рабочих элементов с заголовками, соответствующими тексту. Выберите рабочий элемент в появившемся списке. Поиск по заголовку возвращает рабочие элементы, отфильтрованные по состоянию; все рабочие элементы с состояниями, имеющими категории состояний Завершено и Удалено , исключаются. Эти рабочие элементы также фильтруются по дате и пользователю, при этом отображаются только элементы, созданные или обновленные за последние 30 дней, и они должны быть созданы, назначены или авторизованы в качестве текущего пользователя.

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

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

  1. Выберите Обзор в запросе на вытягивание.

    Выберите Обзор в запросе на вытягивание.

  2. Нажмите кнопку добавить в области Рабочие элементы .

  3. Введите идентификатор рабочего элемента или выполните поиск рабочих элементов с заголовками, соответствующими тексту. Выберите рабочий элемент в появившемся списке. Поиск по заголовку возвращает рабочие элементы, отфильтрованные по состоянию; все рабочие элементы с состояниями, имеющими категории состояний Завершено и Удалено , исключаются. Эти рабочие элементы также фильтруются по дате и пользователю, при этом отображаются только элементы, созданные или обновленные за последние 30 дней, и они должны быть созданы, назначены или авторизованы в качестве текущего пользователя.

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

Добавление тегов в запрос на вытягивание

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

Снимок экрана: P Rs с тегами.

Чтобы добавить тег при создании запроса на вытягивание, введите имя тега в разделе Теги . После создания запроса на вытягивание можно управлять тегами в разделе Теги .

Снимок экрана: выделенный раздел

Добавление меток в запрос на вытягивание

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

Примечание

Для использования меток запроса на вытягивание требуется TFS 2018.2 или более поздней версии.

Снимок экрана: P Rs с метками.

Чтобы добавить метку при создании запроса на вытягивание, выберите Добавить метку. После создания запроса на вытягивание можно управлять его метками в разделе Метки .

Добавление метки P R

Добавление вложений в запросы на вытягивание

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

Снимок экрана: вложение файлов в описание P R во время создания.

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

Для большинства команд почти все запросы на запросы предназначены для ветвь по умолчанию, например main или develop. Если иногда требуется выбрать другую ветвь, легко забыть изменить целевую ветвь при создании запроса на вытягивание. В этом случае можно изменить целевую ветвь активного запроса на вытягивание:

  1. Выберите Дополнительные действия в правом верхнем углу на странице Обзор запроса на вытягивание, а затем выберите Изменить целевую ветвь в раскрывающемся меню.
  2. На панели Изменить целевую ветвь выберите Выбрать целевую ветвь, выберите новую ветвь, а затем щелкните Изменить.

Email уведомления о запросах на вытягивание заинтересованным лицам

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

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

    Снимок экрана, на котором показано, как выбрать Общий доступ к запросу на вытягивание на странице обзора P R.

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

  3. Добавьте необязательное сообщение в поле Примечание (необязательно) и нажмите кнопку Отправить. Получатели получают сообщение электронной почты с просьбой о своем внимании и ссылкой на запрос на вытягивание.

Примечание

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

Чтобы функция электронной почты работала, администратор Azure DevOps Server должен настроить SMTP-сервер.

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