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


Просмотр пул-реквестов

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

При создании pull request (PR) и указании обязательных/необязательных рецензентов, Azure Repos уведомит их о готовности вашего PR для проверки. Все необходимые рецензенты должны утвердить изменения в PR, прежде чем их можно будет объединить с целевой ветвью. Для PR, которые изменяют критически важные ветви, такие как main ветвь, ваша команда может создать политики ветвей, которые указывают рецензентов или требуют минимального количества рецензентов. Если политики ветвей добавляют необязательных рецензентов в PR, их можно оставить, сделать обязательными или удалить. Если политики ветвей добавляют необходимых рецензентов в ваш PR, вы не можете сделать их необязательными или удалить их. Сведения о назначении рецензентов с помощью политик ветвей см. в статье Автоматическое включение рецензентов кода.

Когда вы просматриваете PR, постарайтесь дать конструктивную обратную связь, которая будет точной и легко понятной. Для получения дополнительной информации об обратной связи по рецензиям см. обратную связь по запросам на вытягивание. В этой статье описывается, как проверить пулл-реквесты в Azure DevOps.

Вы можете просматривать только PR Azure DevOps на веб-портале с помощью браузера.

В этой статье раскрываются следующие темы:

  • Проверить изменения
  • Использование комментариев
  • Изменение файлов
  • Отслеживание проверенных файлов
  • Голосование по изменениям PR
  • Завершение PR

В этой статье раскрываются следующие темы:

  • Проверить изменения
  • Использование комментариев
  • Голосование по изменениям PR

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

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

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

    Примечание.

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

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

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

Вы можете управлять PR в Azure DevOps Services с помощью интерфейса командной строки Azure DevOps (CLI). Интерфейс командной строки Azure DevOps доступен при установке Azure CLI и расширения Azure DevOps. Список команд CLI для управления PR см. в командах az repos pr.

Проверить изменения

Запросы на пулл позволяют назначенным рецензентам проверять, обсуждать и голосовать за предложенные изменения до применения этих изменений к целевой ветви репозитория. Помните, что если разработка выполняется с одинаковыми файлами в разных ветвях, могут возникнуть конфликтующие изменения. В этом случае необходимо тщательно проанализировать и устранить эти конфликты. Для этого может потребоваться вручную изменить файл, чтобы правильно применить изменения из исходной ветви, целевой ветви или обеих. Выполнение всех изменений из источника или целевого объекта (которое можно сделать одним щелчком кнопки) может быть неоптимальным и может привести к потере некоторых необходимых изменений. Это можно сделать с помощью средств ADO или будет удобнее использовать средства разработки (например, Visual Studio).

Чтобы узнать больше, см. «Разрешение конфликтов слияния».

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

  1. В веб-браузере откройте командный проект для организации Azure DevOps. Выберите Запросы на вытягивание репозитория, чтобы отобразить список запросов на вытягивание. По умолчанию новая PR открывается на вкладке «Обзор».

  2. На вкладке «Обзор» запроса на внесение изменений отображаются заголовок, описание, рецензенты, связанные рабочие элементы, журнал, статус и комментарии. Ознакомьтесь с описанием PR, чтобы увидеть предложенные изменения. Просмотрите комментарии, чтобы понять проблемы, выявленные другими рецензентами.

    Примечание.

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

    Снимок экрана вкладки обзора в Azure Repos PR.

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

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

    Примечание.

    По соображениям производительности сводное представление не отображает изменения для файла размером более 0,5 МБ.

  4. В представлении диффа для файла можно выбрать макет параллельного или встроенного диффа.

    Снимок экрана: параллельное представление диффа на вкладке

    Совет

    Для любого одного файла, превышающего 5 МБ, представление диффа отображает усеченное содержимое файла. Для представления полного содержимого скачайте и просмотрите такие файлы с помощью локального средства диффа.

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

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

    Снимок экрана: раскрывающийся список разделов изменений на вкладке

    Совет

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

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

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

  7. Перейдите на вкладку "Фиксации", чтобы просмотреть журнал фиксации исходной ветви после её расхождения с целевой ветвью. Журнал фиксаций на вкладке "Фиксации" будет перезаписан, если автор PR принудительно отправит другую историю изменений, поэтому фиксации, которые отображаются на вкладке "Фиксации", могут отличаться от тех, что видны на вкладке "Обновления".

    Снимок экрана: список фиксаций на вкладке

Чтобы получить краткое представление о состоянии PR, на вкладке "Обзор PR" приведены проверки, требования и политики ветвей, которые PR проходит или не проходит. В некоторых случаях сводка содержит фрагмент сообщения об ошибке из журнала проверки состояния. В обзоре перечислены только проверки, завершившиеся с ошибками, но вы можете просмотреть все успешные и неудачные результаты проверок политик, выбрав Просмотреть <n> проверки.

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

Снимок экрана, на котором показана вкладка обзора pr.

Просмотр файлов

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

Примечание.

Различия в pull-запросах в Azure DevOps и сравнении ветвей в Azure DevOps вызваны различными методами сравнения.

Существует два метода сравнения для команды Git diff: двухточие (git diff A..B) и трехточие (git diff A...B). По умолчанию запросы на вытягивание показывают разницу в формате «three-dot diff», тогда как сравнение ветвей показывает разницу в формате «two-dot diff».

Например:

      C---D---E branch
     /
A---B---F---G   master

Запросы на вытягивание: git diff branch...master будут порождать только коммиты C, D, E. Сравнение ветвей: git diff branch..master будет производить фиксации C, D, E, F, G.

Дополнительные сведения см. в разделе сравнения git diff с тремя и двумя точками и git diff

Снимок экрана: представление диффа файла на вкладке

Примечание.

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

Проверка обновлений

Просмотрите предыдущие версии кода из раскрывающегося списка "Все обновления ".

Снимок экрана: обновления PR на вкладке

Каждое обновление ветви добавляет новую версию в список и на вкладке Обновления PR. При выборе различных обновлений представление представления diff отображает различия между файлами в каждой версии PR.

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

Просмотрите список изменений от автора на вкладке "Обновления ".

Просмотрите список изменений от автора.

Просматривайте и выбирайте изменения, внесенные в коммиты ветки на вкладке "Коммиты".

Снимок экрана: список фиксаций на вкладке

Использование комментариев

Авторы и обозреватели PR могут общаться друг с другом, добавляя и отвечая на комментарии PR. При просмотре PR используйте комментарии, чтобы указать проблемы с предлагаемыми изменениями, предложить изменения и ответить на предыдущие комментарии. Стремитесь к конструктивным отзывам, которые точны и понятны. Обращайтесь к получателям напрямую, используя их @username. Ссылайтесь на рабочие элементы с помощью #workitemID, а на другие PR — с помощью !pullrequestID. Иногда авторы PR сами создают комментарии для целей документации.

Предоставление отзывов в комментариях

Если ваш отзыв применяется к определенной строке или диапазону строк в файле, добавьте комментарий в этом расположении в файле:

  1. На вкладке "Файлы" наведите указатель мыши на строку, которую вы хотите прокомментировать, и нажмите кнопку комментария, чтобы открыть поле для добавления комментария. Вы также можете выбрать несколько строк, а затем нажать кнопку комментария, которая отображается при наведении указателя мыши на эти строки.

    Снимок экрана: значок комментария в Azure Repos P Rs.

  2. Введите комментарий в поле комментария и нажмите кнопку "Комментарий".

    Снимок экрана: окно комментариев на вкладке

Если ваш отзыв применяется ко всему файлу, добавьте комментарий на уровне файла, нажав кнопку "Добавить комментарий " в меню параметров файла:

Снимок экрана: контекстное меню дерева файлов на вкладке

Чтобы предоставить общие отзывы, не связанные с определенным файлом, добавьте комментарий на вкладке "Обзор ":

Снимок экрана комментария на вкладке Обзор в Azure Repos PR.

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

Предложение изменений в комментариях

Примечания можно использовать для предложения замены текста для одной или нескольких строк в файле:

  1. На вкладке «Файлы» наведите указатель мыши на строку, к которой вы хотите добавить комментарий, и нажмите кнопку комментария, чтобы открыть встроенное поле для комментария. Вы также можете выбрать несколько строк, а затем нажать кнопку комментария, которая отображается при наведении указателя мыши на эти строки. Если оно принято, предлагаемое содержимое заменит строку или строки, к которым был добавлен комментарий.

    Снимок экрана: значок комментария в Azure Repos P Rs.

  2. Щелкните значок лампочки в поле комментария, чтобы внести предлагаемые изменения в поле комментария в огороженный блок кода, а затем нажмите кнопку "Комментарий". Значок лампочки не отображается, если добавить комментарий в исходный код (левую часть) параллельного представления сравнения.

    Снимок экрана, показывающий, как внести предлагаемое изменение на вкладке

Авторы pr могут принять ваше предложение, выполнив следующие действия:

  1. Выбрать «Применить изменения», чтобы подготовить их к фиксации.

    Снимок экрана, показывающий, как принять предлагаемое изменение на вкладке

  2. При выборе Зафиксировать все изменения будут зафиксированы все подготовленные изменения. Авторы PR могут отменить настройку предложения, выбрав "Отменить изменение".

    Снимок экрана: фиксация всех изменений на вкладке

Изменение или удаление комментариев

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

Снимок экрана: кнопки редактирования и удаления в комментарии P R.

Лайкнуть комментарии

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

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

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

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

Ответ на комментарии

Авторы PR должны отвечать на комментарии, чтобы сообщить рецензентам, как они отвечают на отзывы и предложения:

  1. Чтобы ответить на комментарий, введите ответ в поле "Запись ответа ". Обращайтесь напрямую к получателям, используя их @username. Ссылайтесь на рабочие элементы, используя #workitemID, и на другие PR, используя !pullrequestID.

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

  2. После ввода ответа нажмите "Ответить и решить", если ваш ответ окончательный. В противном случае нажмите кнопку "Ответ".

    Снимок экрана, показывающий, как ответить и /или разрешить комментарий P R.

    Если выбрать "Ответ и разрешить", состояние комментария изменится на "Разрешено". Авторы PR также могут напрямую изменить состояние комментария, как описано в следующем разделе.

Изменение состояния комментария

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

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

  • Активно: состояние по умолчанию для новых комментариев.

  • В ожидании: вопрос в этом комментарии находится на рассмотрении и ожидает дальнейших действий.

  • Устранена проблема, связанная с этим комментарием.

  • Не исправится: проблема в этом комментарии отмечается, но не будет исправлена.

  • Закрыто: обсуждение в этом комментарии закрыто.

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

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

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

    Снимок экрана: комментарии в Azure Repos P Rs.

  • Дайте отзыв, не привязанный к определенной строке кода, прокомментируйте на вкладке «Обзор».

  • Обращайтесь к автору или другим рецензентам напрямую в ваших комментариях, используя @username, и ссылайтесь на рабочие элементы, используя #workitemID. Вы также можете ссылаться на другие PR с помощью !pullrequestID.

Редактировать, удалить или поставить лайк на комментарий

Чтобы изменить или удалить комментарий, наведите указатель мыши на комментарий и выберите значок карандаша, чтобы изменить комментарий или значок мусора, чтобы удалить комментарий.

Чтобы поставить лайк своему или чужому комментарию, наведите указатель мыши на комментарий и выберите значок пальца вверх. Комментарии с отметками 'нравится' показывают заполненную иконку и количество отметок 'нравится' в списке комментариев. Наведите указатель мыши на значок, чтобы просмотреть список людей, которые любили комментарий.

Снимок экрана, показывающий кнопки 'правка', 'удалить' и 'лайк' в комментарии P R.

Фильтрация комментариев

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

Снимок экрана: параметры фильтра комментариев на вкладке

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

Чтобы отфильтровать комментарии и обновления, нажмите кнопку Показать все (n) над списком комментариев и выберите один из параметров фильтрации. В представлении отображаются только выбранные комментарии и обновления. Метка кнопки изменяется, чтобы отобразить критерии фильтрации и количество отображаемых элементов.

Снимок экрана: параметры фильтрации списка комментариев в P R.

Примечания к адресу

Вы можете быстро обновлять ветвь непосредственно на вкладке "Файлы" в Коде в интернете.

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

Ответ и разрешение комментариев

Ответить на комментарии и обновить состояние комментария, чтобы сообщить рецензентам, как вы решаете свои комментарии и предложения.

  • Чтобы устранить комментарий без ответа, нажмите кнопку "Разрешить " в комментарии.
  • Чтобы ответить на комментарий, введите ответ в поле "Запись ответа" и нажмите кнопку "Ответ".
  • Чтобы ответить на комментарий и устранить его, введите ответ в поле "Запись ответа " и выберите "Ответить" и "Разрешить".
  • Ответьте конкретным рецензентам, используя @username в ответе, и ссылайтесь на рабочие элементы, используя #workitemID. Вы также можете ссылаться на другие PR с помощью !pullrequestID.

Новые комментарии начинаются в активном состоянии. Выберите "Разрешить" или "Ответить" и "Разрешить", чтобы обновить состояние комментария до "Разрешено".

Снимок экрана: разрешение комментария в Azure Repos P Rs.

Дополнительные параметры доступны в раскрывающемся списке разрешения комментариев:

Снимок экрана: дополнительные параметры в раскрывающемся списке разрешения комментариев.

  • На рассмотрении: комментарий все еще рассматривается.
  • Ожидание: проблема в этом комментарии будет устранена, но пока не устранена.
  • Устранена проблема, связанная с этим комментарием.
  • Не будет исправлено: предложение в комментарии было принято во внимание, но этот PR не будет его решать.
  • Закрыто. Обсуждение этого комментария закрыто.

Чтобы отслеживать файлы, которые уже были проверены, выберите дополнительные параметры рядом с файлом в PR, а затем выберите "Пометить как проверенный".

Изменение файлов

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

  1. Выберите Repos > Files, выберите исходную ветвь PR, выберите файл и нажмите кнопку "Изменить".

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

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

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

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

    Скриншот диалогового окна

Отслеживание проверенных файлов

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

Скриншот опции «Пометить как проверенное» в меню параметров файлов на вкладке «Файлы» PR.

Голосование по изменениям PR

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

Снимок экрана: параметры голосования в Azure Repos P R.

Варианты голосования:

  • Утверждает: утверждает предложенные изменения в PR. Этот вариант — просто голосование и не одобряет PR.

  • Утверждение с предложениями: утверждает предлагаемые изменения в PR с дополнительными предложениями для улучшения. Этот вариант является только голосованием и не одобряет PR.

  • Подождите автора: просит автора просмотреть комментарии рецензента. Автор PR должен сообщить рецензентам, чтобы они повторно просмотрели код после исправления замечаний. Если обязательный рецензент задает этот параметр голосования, голосование блокирует утверждение PR.

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

  • Сброс отзывов: очищает свой голос. Отсутствие голосования не препятствует завершению PR.

Нажмите кнопку в правом верхнем углу в PR, чтобы проголосовать за изменения в PR. По умолчанию используется параметр "Утвердить", но в раскрывающемся списке можно выбрать другие параметры:

Снимок экрана: параметры голосования P R.

  • Утвердить: Утвердить предложенные изменения в PR.
  • Утвердить предложения: утвердить pr, но укажите необязательные предложения для улучшения.
  • Подождите автора: не утверждайте изменения и попросите автора просмотреть комментарии. Автор должен сообщить вам о повторном просмотре кода после решения проблем.
  • Отклонение. Изменения недопустимы. Оставьте комментарий в PR, чтобы объяснить, почему.
  • Сброс отзывов: удалите голос.

Завершите PR

Авторы PR могут выбрать параметр разрешения PR:

Снимок экрана: параметры разрешения P R в Azure Repos P R.

  • Завершено: завершите ПР сейчас, если все требуемые рецензенты одобрили его и соблюдена вся необходимая политика ветви.

  • Установите автоматическое завершение: автоматическое завершение запроса при утверждении всех необходимых рецензентов и всех обязательных политик ветви.

  • Пометка как черновик: установите для PR состояние черновика, чтобы указать, что он не готов для рецензии. Для черновика PR можно выбрать "Опубликовать ", чтобы удалить его состояние черновика и пометить его готовым к просмотру.

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

Для получения дополнительной информации о завершении пул-реквеста см. в "Завершение пул-реквеста".

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