Можно ли изменить/дополнить pull request?
После того, как я завершил свою задачу, я сделал pull request на master. В комментариях написали замечания к некоторым частям моего кода. Я исправил то, что требовалось, но не знаю, как поступить. Мне закрыть предыдущий pull request и отправить новый, или же можно как-то изменить старый?
Отслеживать
задан 5 окт 2021 в 21:03
494 5 5 серебряных знаков 16 16 бронзовых знаков
Просто пушьте в ту же ветку, чего мудрить
5 окт 2021 в 21:07
@andreymal После того, как я запушу изменения в мою ветку, пулл реквест тоже поменяется? Я почему-то думал, что в пулл реквесте останутся те изменения, которые были сделаны до того, как я его отправлю, а на те изменения, что я запушил после того, как пулл реквест был отправлен придётся снова делать пулл реквест. Можете пожалуйста чуть подробнее описать этот процесс.
5 окт 2021 в 21:11
Поменяется. . .
5 окт 2021 в 21:11
@andreymal Окей, спасибо
5 окт 2021 в 21:12
andreymal правильно написал. В дополнение скажу, что исправления нужно делать в той же ветке, из которой изначально делался PR новыми комитами (т.е. не нужно использовать git push —force), чтоб история комментариев к PR не пропала и комментаторам легче было проверить, что вы все исправили и все замечания учли.
6 окт 2021 в 6:59
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- git
- github
- pull-request
Создание запроса на включение изменений
Создайте запрос на вытягивание, чтобы предложить изменения в репозитории и совместно работать над ними. Эти изменения предлагаются в ветви, что гарантирует, что ветвь по умолчанию содержит только завершенную и утвержденную работу.
Кто может использовать эту функцию.
Anyone with read access to a repository can create a pull request.
Platform navigation
Tool navigation
If you want to create a new branch for your pull request and do not have write permissions to the repository, you can fork the repository first. For more information, see «Creating a pull request from a fork» and «About forks.»
You can specify which branch you’d like to merge your changes into when you create your pull request. Pull requests can only be opened between two branches that are different.
Note: To open a pull request in a public repository, you must have write access to the head or the source branch or, for organization-owned repositories, you must be a member of the organization that owns the repository to open a pull request.
You can link a pull request to an issue to show that a fix is in progress and to automatically close the issue when someone merges the pull request. For more information, see «Linking a pull request to an issue.»
Changing the branch range and destination repository
By default, pull requests are based on the parent repository’s default branch. For more information, see «About branches.»
If the default parent repository isn’t correct, you can change both the parent repository and the branch with the drop-down lists. You can also swap your head and base branches with the drop-down lists to establish diffs between reference points. References here must be branch names in your GitHub repository.

When thinking about branches, remember that the base branch is where changes should be applied, the head branch contains what you would like to be applied.
When you change the base repository, you also change notifications for the pull request. Everyone that can push to the base repository will receive an email notification and see the new pull request in their dashboard the next time they sign in.
When you change any of the information in the branch range, the Commit and Files changed preview areas will update to show your new range.
Tips:
- Using the compare view, you can set up comparisons across any timeframe. For more information, see «Comparing commits.»
- Project maintainers can add a pull request template for a repository. Templates include prompts for information in the body of a pull request. For more information, see «About issue and pull request templates.»
Creating the pull request

- On GitHub.com, navigate to the main page of the repository.
- In the «Branch» menu, choose the branch that contains your commits.

Above the list of files, in the yellow banner, click Compare & pull request to create a pull request for the associated branch.
Tip: After you create a pull request, you can ask a specific person to review your proposed changes. For more information, see «Requesting a pull request review.»
After your pull request has been reviewed, it can be merged into the repository.
To learn more about GitHub CLI, see «About GitHub CLI.»
To create a pull request, use the gh pr create subcommand.
gh pr create
To assign a pull request to an individual, use the —assignee or -a flags. You can use @me to self-assign the pull request.
gh pr create --assignee "@octocat"
To specify the branch into which you want the pull request merged, use the —base or -B flags. To specify the branch that contains commits for your pull request, use the —head or -H flags.
gh pr create --base my-base-branch --head my-changed-branch
To include a title and body for the new pull request, use the —title and —body flags.
gh pr create --title "The bug is fixed" --body "Everything works again"
To mark a pull request as a draft, use the —draft flag.
gh pr create --draft
To add a labels or milestones to the new pull request, use the —label and —milestone flags.
gh pr create --label "bug,help wanted" --milestone octocat-milestone
To add the new pull request to a specific project, use the —project flag.
gh pr create --project octocat-project
To assign an individual or team as reviewers, use the —reviewer flag.
gh pr create --reviewer monalisa,hubot --reviewer myorg/team-name
To create the pull request in your default web browser, use the —web flag.
gh pr create --web
- Click Preview Pull Request. GitHub Desktop will open a preview dialog showing the diff of the changes between your current branch and the base branch.



Alternatively, to go straight to GitHub to create your pull request, select the dropdown icon and click Create Pull Request.
Confirm that the branch in the base: dropdown menu is the branch where you want to merge your changes.

GitHub Desktop will advise you whether the current branch can be automatically merged into the base branch.

- Once you’ve committed changes to your local copy of the repository, click the Create Pull Request icon.

Check that the local branch and repository you’re merging from, and the remote branch and repository you’re merging into, are correct. Then give the pull request a title and a description.
For more information on creating pull requests in GitHub Codespaces, see «Using GitHub Codespaces for pull requests.»
Further reading
- «Creating a pull request from a fork»
- «Keeping your pull request in sync with the base branch»
- «Changing the base branch of a pull request»
- «Adding issues and pull requests to a project (classic)»
- «Creating an issue»
- «Assigning issues and pull requests to other GitHub users»
- «Writing on GitHub»
Выполнение, отмена или отменить изменения запросов на вытягивание
После того как все необходимые рецензенты утвердятся ваш запрос на вытягивание и запрос на вытягивание соответствует всем требованиям политики ветви , вы можете объединить изменения в целевую ветвь и выполнить запрос на вытягивание. Или если вы решили не продолжать изменения в запросе на вытягивание, вы можете отказаться от запроса на вытягивание.
Сведения о том, как устранить изменения рецензентов, а также ответить на комментарии к рецензированием и разрешить их, см. в разделе Устранение комментариев.
Предварительные требования
- В проекте должны быть включены репозитории. Если центр Repos и связанные страницы не отображаются, см. статью Включение или отключение службы Azure DevOps для повторного включения Репозиториев.
- Для выполнения запроса на вытягивание необходимо быть членом группы безопасности «Участники» или иметь соответствующие разрешения в проекте, в который находится запрос на вытягивание.
- Чтобы внести свой вклад в вытягивание, необходимо быть членом группы безопасности Читатели или иметь соответствующие разрешения.
- Чтобы просмотреть или просмотреть PR, у вас должен быть доступ уровня «Базовый» или более высокий уровень к проекту Azure DevOps.
- Если вы не участвуете в проекте, в который хотите участвовать, добавьте его.
Примечание Для общедоступных проектов пользователи, которым предоставлен доступ заинтересованных лиц, имеют полный доступ к Azure Repos.
- В проекте должны быть включены репозитории. Если центр Repos и связанные страницы не отображаются, см. статью Включение или отключение службы Azure DevOps для повторного включения Репозиториев.
- Для выполнения запроса на вытягивание необходимо быть участником группы безопасности «Участники» или иметь соответствующие разрешения в проекте, который требуется изменить.
- Чтобы внести свой вклад в вытягивание, необходимо быть членом группы безопасности Читатели или иметь соответствующие разрешения.
- Чтобы просмотреть или просмотреть PR, необходимо быть участником проекта Azure DevOps с доступом уровня «Базовый» или более поздней версии. Если вы не участник проекта, добавьте его.
- Для выполнения запроса на вытягивание необходимо быть членом группы безопасности «Участники » для проекта Azure DevOps или иметь соответствующие разрешения.
- Чтобы просмотреть или просмотреть PR, необходимо быть участником проекта Azure DevOps с доступом уровня «Базовый» или более поздней версии. Если вы не участник проекта, добавьте его.
- Чтобы внести свой вклад в вытягивание, необходимо быть членом группы безопасности Читатели для проекта Azure DevOps или иметь соответствующие разрешения.
- Дополнительные сведения о разрешениях и доступе см. в разделах Разрешения репозитория и ветви Git по умолчанию и Сведения об уровнях доступа.
- В Azure DevOps Services можно управлять PR и другими ресурсами из интерфейса командной строки Azure (CLI) с azure-devops помощью расширения . Сведения о работе с Azure DevOps Services CLI см. в статье Начало работы с Azure DevOps CLI. Azure Repos команд CLI для запросов на вытягивание используется az repos pr.
Проверка изменений слиянием
После завершения запроса на вытягивание Git добавляет новую фиксацию слияния в конец ветви main. Эта фиксация слияния связывает предыдущие журналы ветви main и исходной ветви запроса на вытягивание. Чтобы просмотреть предварительную версию фиксации слияния и проверка для конфликтов слияния, выберите меню Дополнительные параметры в правом верхнем углу страницы Обзор запроса на вытягивание, а затем выберите Просмотреть изменения слияния.
Если вы изменили целевую ветвь после создания запроса на вытягивание, выберите Перезапустить слияние, чтобы создать новую предварительную версию фиксации слияния, и обновите изменение слияния diff представлении.

Проверка политик ветвей
Teams может задавать политики ветвей , которые требуют запросов на запросы в защищенных ветвях в соответствии с определенными критериями, прежде чем они смогут объединиться. Вы можете просмотреть политики ветвей, которые действуют для запроса на вытягивание, необходимы ли они для слияния, а также то, передается ли запрос на вытягивание или завершается сбоем.
На вкладке Обзор запроса на вытягивание перечислены политики ветвей, которые передаются или завершаются сбоем для запроса на вытягивание. В обзоре перечислены только сбои политик, но вы можете просмотреть все проверки политики, выбрав Просмотреть проверок.
![]()
На странице Обзор запроса на вытягивание в требованиях к политике ветвей есть значок. Выберите Дополнительные параметры рядом с требованием, а затем выберите Просмотреть политику , чтобы перейти на страницу Политики ветви в параметрах проекта.

Вы можете открыть запрос на вытягивание в Visual Studio, а затем просмотреть политики ветвей, как описано на вкладке Браузер.
Чтобы открыть запрос на вытягивание из Visual Studio, в меню Git выберите > GitПросмотреть запросы на вытягивание и выберите запрос на вытягивание, чтобы открыть его.
Visual Studio 2019 версии 16.8 и более поздних версий предоставляет возможности управления версиями Git при сохранении пользовательского интерфейса Team Обозреватель Git. Чтобы использовать командную Обозреватель, снимитефлажокСервис> Параметры >Предварительный просмотр функций>Новый пользовательский интерфейс Git в строке меню. Вы можете использовать функции Git из любого интерфейса взаимозаменяемо.
Чтобы получить доступ к PR из Visual Studio Team Обозреватель:
- Подключитесь к проекту из Visual Studio.
- Выберите Просмотреть>Обозреватель команды, чтобы открыть Обозреватель команды. Можно также нажать клавиши CTRL+\, CTRL+M.
- На главной странице выберите Запросы на вытягивание , чтобы просмотреть списки запросов на вытягивание, открытые или назначенные вам.
- Чтобы открыть запрос на вытягивание на веб-портале и просмотреть политики, которые действуют, щелкните правой кнопкой мыши запрос на вытягивание и выберите Открыть в браузере.
Чтобы просмотреть все политики ветви, которые действуют для запроса на вытягивание, используйте команду az repos pr policy list с обязательным id параметром.
az repos pr policy list --id [--detect ] [--org] [--query-examples] [--skip] [--subscription] [--top]
Параметры
| Параметр | Описание |
|---|---|
| —id | Идентификатор запроса на вытягивание. Обязательный. |
| —detect | Автоматическое обнаружение организации. Допустимые значения: false , true . |
| —org —organization |
URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization= . Требуется, если не настроено по умолчанию или выбрано через конфигурацию Git. Пример: https://dev.azure.com/MyOrganizationName/ . |
| —query-examples | Рекомендуемая строка JMESPath. Вы можете скопировать один из запросов и вставить его после —query параметра в двойные кавычки, чтобы просмотреть результаты. Вы можете добавить одно или несколько позиционных ключевых слов, чтобы предложения основывались на этих ключевых словах. |
| —skip | Количество политик, которые нужно пропустить. |
| —subscription | Имя или идентификатор подписки Подписку по умолчанию можно настроить с помощью az account set -s . |
| —top | Максимальное число политик для перечисления. |
Пример
Например, чтобы просмотреть политики, которые действуют на PR 28, выполните следующую команду:
az repos pr policy list --id 28 --output table Evaluation ID Policy Blocking Status Expired Build ID ------------------------------------ --------------------------------------------- ---------- -------- --------- ---------- 84e7ca6d-0b42-4819-9f62-f41df5e319f3 Minimum number of reviewers (1) True Approved 1ba061d8-9e9f-401b-ab61-e2ed1c200aba Required reviewers (1) True 37620a4b-adc4-483d-9ca2-3f4e6ffe2990 Comment requirements False Approved 34b7cae8-812a-4c14-9229-f71a0e662e8b Required reviewers (1) ([Fabrikam Fiber]\Web) False a6e4380e-9f38-4aa5-863c-0fc496027362 Work item linking False Rejected
Команды Интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server локальной среде.
Создайте запрос на вытягивание
После разрешения конфликтов слияния, когда запрос на вытягивание соответствует всем политикам ветвей и имеет все необходимые утверждения, вы можете выполнить запрос на вытягивание.
- Нажмите кнопку Завершить в правом верхнем углу, чтобы завершить запрос на вытягивание. Или щелкните стрелку раскрывающегося списка рядом с кнопкой Завершить и выберите один из вариантов.
- Завершить. Выполните запрос на вытягивание сейчас и объедините изменения в целевую ветвь.
- Настройка автозаверждений. Настройте запрос на вытягивание на завершение и слияние после того, как он соответствует всем необходимым политикам ветви.
- Пометить как черновик. Возврат запроса на вытягивание в состояние черновика и удаление всех голосов.
- Отказаться: закройте запрос на вытягивание без объединения изменений.
- В области Завершить запрос на вытягивание в разделе Тип слияния выберите один из параметров слияния.
- Слияние (без быстрого переадресации) — слияние с нелинейным журналом, который сохраняет все фиксации.
- Фиксация сквош: слияние с линейным журналом, который объединяет все исходные фиксации в одну фиксацию на целевом объекте, или сжатие объединяет запрос на вытягивание. Имейте в виду, что для целевой ветви будет создана новая фиксация без сохранения журнала фиксаций из исходной ветви.
- Перебазировать и быстрое перемещение вперед. Перебазируйте исходные фиксации на целевой объект и быстрое перемещение вперед.
- Полулинейное слияние. Выполняет фиксацию источника в целевом объекте и создает слияние с двумя родительскими элементами.
Применяются существующие политики. Например, если в вашей ветви в настоящее время есть политика «только слияние squash», необходимо изменить эту политику, если вы хотите использовать другой тип слияния.
- Завершение связанных рабочих элементов после слияния: завершение всех связанных рабочих элементов.
- Удалить ветви после слияния. Удалите исходную ветвь запроса на вытягивание после слияния.
- Настройка сообщения о фиксации слиянием. Добавьте настраиваемое сообщение о фиксации слияния. Если выбран этот параметр, обновите сообщение о фиксации слияния .
- Переопределите политики ветвей и включите слияние. Принудительное слияние, даже если запрос на вытягивание не соответствует всем политикам ветви. Этот параметр доступен, только если у вас есть разрешение «Исключить из принудительного применения политики «.
- Нажмите кнопку Завершить в правом верхнем углу, чтобы завершить запрос на вытягивание. Или щелкните стрелку раскрывающегося списка рядом с кнопкой Завершить и выберите один из следующих вариантов:
- Завершить: завершите запрос на вытягивание и объедините изменения в целевую ветвь.
- Настройка автоматического завершения. Если у вас есть политики ветвей, настройте запрос на вытягивание на выполнение и слияние после того, как он будет соответствовать всем необходимым политикам ветви.
- Отменить. Закройте запрос на вытягивание без объединения изменений.
- На экране Завершить запрос на вытягивание введите сообщение для фиксации слияния и обновите описание запроса на вытягивание.

- Выберите любой из следующих параметров:
- Завершать связанные рабочие элементы после слияния для завершения всех связанных рабочих элементов.
- Удалите после слияния , чтобы удалить исходную ветвь из запроса на вытягивание.
- Squash изменяется при слиянии в сквош слияние вашего запроса. Имейте в виду, что для целевой ветви будет создана новая фиксация без сохранения журнала фиксаций из исходной ветви.
- Переопределите политики ветвей и включите слияние , чтобы принудить ветвь к слиянию, даже если она не соответствует всем политикам ветви. Этот параметр доступен, только если у вас есть разрешения на исключение из принудительного применения политики .
Примечание Существующие политики по-прежнему применяются. Например, если в вашей ветви в настоящее время есть политика «только слияние squash», необходимо изменить эту политику, чтобы использовать другие типы слияния.
После завершения слияния все связанные рабочие элементы автоматически обновляются для отображения завершения запроса на вытягивание.

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

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

Чтобы завершить запрос на вытягивание, откройте запрос на вытягивание в браузере и на странице Обзор выберите Завершить или задать другие параметры.
Чтобы открыть запрос на вытягивание из Visual Studio, в меню Git выберите > GitПросмотреть запросы на вытягивание и выберите запрос на вытягивание, чтобы открыть его.
Чтобы получить доступ к PR из Visual Studio 2019 Team Обозреватель:
- Подключитесь к проекту из Visual Studio.
- Выберите Просмотреть>Обозреватель команды, чтобы открыть Обозреватель команды. Можно также нажать клавиши CTRL+\, CTRL+M.
- На главной странице выберите Запросы на вытягивание , чтобы просмотреть списки запросов на вытягивание, открытых вами или назначенных вам.
- Чтобы открыть запрос на вытягивание на веб-портале, щелкните правой кнопкой мыши запрос на вытягивание и выберите Открыть в браузере.
Чтобы выполнить запрос на вытягивание и объединить изменения, используйте команду az repos pr update для обновления запроса —status на . completed
Например, чтобы завершить pr#21, используйте:
az repos pr update --id 21 --status completed
Настройка параметров завершения
Параметры завершения запроса можно задать при создании запроса на вытягивание с помощью az repos pr create или обновить параметры создания в существующих ЗАПРОСАх с помощью az repos pr update .
Варианты завершения запроса на вытягивание включают:
- bypass-policy : следует ли обходить необходимые политики и завершать запрос на вытягивание после его объединения.
- bypass-policy-reason : причина обхода обязательных политик.
- delete-source-branch : следует ли удалить исходную ветвь после завершения и объединения запроса на вытягивание.
- merge-commit-message : настройка сообщения о фиксации слиянием.
- squash : следует ли сокнуть исходные фиксации в одну целевую фиксацию для слияния.
- transition-work-items : следует ли разрешать связанные рабочие элементы при слиянии запроса на вытягивание.
Чтобы задать параметры завершения и завершить существующий запрос на вытягивание, используйте az repos pr update с обязательным id параметром .
az repos pr update --id [--auto-complete ] [--bypass-policy ] [--bypass-policy-reason] [--delete-source-branch ] [--description] [--detect ] [--draft ] [--merge-commit-message] [--org] [--squash ] [--status ] [--subscription] [--title] [--transition-work-items ]
Параметры
| Параметр | Описание |
|---|---|
| —id | Идентификатор запроса на вытягивание. Обязательно. |
| —auto-complete | Настройте автоматическое выполнение запроса на вытягивание, если все политики пройдены и исходная ветвь может быть объединена в целевую ветвь. Допустимые значения: false , true . |
| —bypass-policy | Обойдите все необходимые политики и завершите запрос на вытягивание после его объединения. Допустимые значения: false , true . |
| —bypass-policy-reason | Причина обхода обязательных политик. |
| —delete-source-branch | Удалите исходную ветвь после завершения запроса на вытягивание и объединения в целевую ветвь. Допустимые значения: false , true . |
| —description -d | Новое описание запроса на вытягивание. Может включать Markdown. Каждое значение является новой строкой. Например: —description «First Line» «Second Line» . |
| —detect | Автоматическое обнаружение организации. Допустимые значения: false , true . |
| —draft | Преобразуйте запрос на вытягивание в черновик или опубликуйте его. Допустимые значения: false , true . |
| —merge-commit-message | Сообщение, отображаемое при объединии фиксаций. |
| —org —organization |
URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization= . Требуется, если не настроено по умолчанию или выбрано с помощью конфигурации Git. Пример: https://dev.azure.com/MyOrganizationName/ . |
| —squash | Сжатие фиксаций в исходной ветви при слиянии с целевой ветвью. Допустимые значения: false , true . |
| —status | Задайте новое состояние запроса на вытягивание. Допустимые значения: abandoned , active , completed . |
| —subscription | Имя или идентификатор подписки Подписку по умолчанию можно настроить с помощью az account set -s . |
| —title | Новый заголовок запроса на вытягивание. |
| —transition-work-items | Переведите все рабочие элементы, связанные с запросом на вытягивание, в следующее логическое состояние, например Разрешено. Допустимые значения: false , true . |
Пример
В следующем примере выполняется pr #21, удаляется исходная ветвь, разрешается связанные рабочие элементы и добавляется сообщение о фиксации слияния:
az repos pr update --id 21 --status completed --delete-source-branch true --transition-work-items true --merge-commit-message "This update is complete."
Команды Azure DevOps CLI не поддерживаются для Azure DevOps Server локальной среде.
Перебаза во время выполнения запроса на вытягивание
Существует несколько ситуаций, когда повторная балансировка во время выполнения запроса на вытягивание невозможна.
- Если политика в целевой ветви запрещает использовать стратегии перебазирования, необходимо разрешение Переопределить политики ветвей для переопределения.
- Если исходная ветвь запроса на вытягивание имеет политики, вы не сможете перебазировать ее. Перебазирование приведет к изменению исходной ветви без прохождения процесса утверждения политики.
- Если вы использовали расширение конфликтов слияния для разрешения конфликтов слияния, перебазировать нельзя. Разрешения конфликтов, применяемые к трехстороннему слиянию, редко являются успешными или допустимыми при перебазовке всех фиксаций запроса по отдельности.
Во всех этих случаях вы по-прежнему можете перебазировать ветвь локально, а затем отправить вышестоящий или объединить изменения при выполнении запроса на вытягивание.
Базовая проблема, возникающая при нескольких слияниях
В некоторых случаях запрос на вытягивание имеет более одной истинной базы слияния, и эта ситуация может вызвать проблемы с безопасностью. Если файлы в PR имеют разные версии между базами слияния, появляется предупреждение о нескольких базах слияния. Дополнительные сведения и исправления см. в разделе Несколько баз слияния.
Разрешение конфликтов слияния
Изменения файлов в вашей ветви могут конфликтовать с изменениями в другой ветви. Если неясно, как объединять изменения, Git отображает конфликтующие файлы на странице Обзор запроса. Перед слиянием запроса на вытягивание или присвойте запросу автозавершение, необходимо устранить все конфликты слияния между ветвью запроса на вытягивание и целевой ветвью. Инструкции по решению конфликтов слияния см. в разделе Разрешение конфликтов слияния.

Настройка автозавершения запроса на вытягивание
В раскрывающемся списке Готово выберите Задать автозаверление, чтобы завершить и объединить изменения запроса на вытягивание, как только условия соответствуют всем политикам ветви. После завершения запроса на вы получите уведомление по электронной почте. Если конфликт или ошибка препятствуют выполнению запроса на вытягивание, сообщение электронной почты уведомляет вас о проблеме.
Параметр Задать автозаверщение доступен в Azure Repos и TFS 2017 и более поздних версиях при наличии политик ветвей. Если вы не видите параметр Задать автозавершите, у вас нет политик ветвей. Дополнительные сведения см. в разделе Политики филиалов.
По умолчанию запрос на вытягивание с автозавершением ожидает только необходимых политик. На панели Включить автоматическое завершение можно также дождаться дополнительных политик.

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


Для запроса на вытягивание для параметра автозавершение отображается индикатор автозаполнения на странице Запросы на вытягивание .

Откройте запрос на вытягивание на веб-портале. На странице Обзор выберите Задать автоматическое завершение.
Чтобы открыть запрос на вытягивание из Visual Studio, в меню Git выберите > GitПросмотреть запросы на вытягивание и выберите запрос на вытягивание, чтобы открыть его.
Чтобы получить доступ к PR из Visual Studio 2019 Team Обозреватель:
- Подключитесь к проекту из Visual Studio.
- Выберите Просмотреть>Обозреватель команды, чтобы открыть Обозреватель команды. Можно также нажать клавиши CTRL+\, CTRL+M.
- На главной странице выберите Запросы на вытягивание , чтобы просмотреть списки запросов на вытягивание, открытых вами или назначенных вам.
- Чтобы открыть запрос на вытягивание на веб-портале и просмотреть политики, которые действуют, щелкните правой кнопкой мыши запрос на вытягивание и выберите Открыть в браузере.
Настройте автозавершение для автоматического завершения запроса на вытягивание при прохождении всех необходимых утверждений и политик ветвей. Вы можете задать автозавершение при создании запроса на вытягивание или обновить существующий запрос на вытягивание.
- Чтобы задать автозавершение при создании запроса, используйте . az repos pr create —auto-complete true
- Чтобы обновить существующий запрос на вытягивание для автозаполнения, используйте . az repos pr update —id —auto-complete true
Команды Azure DevOps CLI не поддерживаются для Azure DevOps Server локальной среде.
Отмена или повторная активация запроса на вытягивание
Чтобы отказаться от изменений и запроса на вытягивание без объединения, выберите Отменить в раскрывающемся списке на кнопке Завершить . Вы по-прежнему можете просматривать отмененный запрос на вытягивание, и он остается связанным с рабочими элементами.
Чтобы повторно активировать отмененный запрос на вытягивание в любое время, откройте запрос на вытягивание на вкладке «Отменено » в представлении запрос на вытягивание и выберите Повторно активировать в правом верхнем углу.
Откройте запрос на вытягивание на веб-портале. На странице Обзор выберите Отказаться.
Чтобы открыть запрос на вытягивание на веб-портале, используйте процедуру из раздела Завершение запроса на вытягивание.
Чтобы отказаться от запроса на вытягивание без объединения изменений, используйте . az repos pr update —id –-status abandoned Вы можете повторно активировать запрос на вытягивание, задав для состояния значение active .
Команды Azure DevOps CLI не поддерживаются для Azure DevOps Server локальной среде.
Отмена завершенного запроса на вытягивание
Чтобы отменить изменения из запроса на вытягивание, выполните следующие действия. Дополнительные сведения см. в разделе Отмена изменений.
- Откройте готовый запрос на вытягивание и нажмите кнопку Вернуть. Это действие создает новую ветвь с изменениями, которые отменяют запрос на вытягивание в существующей целевой ветви в репозитории.
- В области Отмена запроса на вытягивание :
- В разделе Целевая ветвь выберите ветвь, в которой вы хотите отменить изменения запроса на вытягивание.
- В разделе Обязательное имя ветви раздела при необходимости измените имя ветви отменить изменения PR.
- Выберите Отменить.
Ветвь, созданная во время этого отменить изменения, имеет одну фиксацию, которая отменяет все изменения файла из исходного запроса на вытягивание. Ветвь не содержит отмененную фиксацию для каждой фиксации в исходном запросе на вытягивание.
Дальнейшие действия
Похожие статьи
- Уведомления об обновлении запросов на вытягивание
- Сведения о запросах на вытягивание и разрешениях
Практическое занятие «Процесс Pull request на GitHub»
На предыдущем занятии Используем клиент GitHub для десктопа, мы использовали Github Desktop для управления рабочим процессом коммитов, ветвления и слияния. На этом занятии мы будем выполнять аналогичные действия, но с использованием браузерного интерфейса, который предоставляет Github, вместо использования терминала или Github Desktop.
Понимание процесса Pull request является важным для анализа изменений в опен-сорс проекте с несколькими участниками. Использование интерфейса GitHub также удобно, если рецензенты не знакомы с терминалом или Github Desktop.
Создание изменение в отдельной ветке
По умолчанию в новом репозитории есть одна ветка с именем «Master». Обычно, когда при внесении изменений или просмотра / редактировании, создается новая ветка и вносятся все изменения в ветку. Затем, по окончании, владелец репо объединяет изменения из новой ветки в «Master» через «pull request».
Note: Можно выполнять эти операции, используя команды Git в терминале, а также Можно выполнять их в интерфейсе браузера. Интерфейс браузера может быть полезен, если людей, вносящих изменения в ваш контент.
Для создания изменений в отдельной ветке:

- Со стороны рецензента переходим к тому же репозиторию GitHub, который был создан на предыдущем занятии (можно создать новый репо). Создаем новую ветку, выбрав раскрывающееся меню ветки и введя имя новой ветки, например «sme-review». Затем нажмите клавишу Enter.
При создании новой ветки, содержимое из главной (или любой другой ветки, которая сейчас просматривается) копируется в новую ветку. Процесс похож на «Сохранить как» с существующим документом.

- Кликаем в область ввода текста, а затем кликаем по иконке карандаша («Edit this file»), чтобы отредактировать файл.
- Вносим изменения в контент и прокручиваем вниз экрана до области Commit changes. Поясняем причину изменений и подтверждаем изменения в своей ветке sme-review, нажав кнопку Commit changes .
Рецензенты могут продолжать вносить изменения таким образом, пока не закончат просмотр всей документации. Все изменения делаются в этой новой ветке, а не в мастере.
Создание Pull request
Теперь представим, что процесс проверки завершен, и пришло время объединить ветку с мастером. Ветка объединяется с “Master” через Pull request . Любой «соавтор» в команде с правами на запись может инициировать и завершить Pull request (добавлять соавторов можете в «Настройки»> «Соавторы)
Для создания Pull request:
- Находим на экране вкладку “Pull request”.
- Кликаем по кнопке New pull request

- Выбираем ветку (sme-review), которую хотим сравнить с веткой “Master”

Когда мы сравниваем ветку с мастером, мы увидим список всех изменений. Мы можем просмотреть изменения в двух режимах просмотра: Unified или Split (это вкладки, показанные справа от содержимого). Unified показывает правки вместе в одной области содержимого, тогда как split показывает два файла рядом.
- Кликаем на кнопку Create pull request .
- Поясняем pull request и снова кликаем кнопку Create pull request .
Владелец репозитория увидит pull request и сможет принять меры для его объединения.
Процесс Pull request
Теперь посмотрим на процесс со стороны владельцем проекта, который получил новый Pull request. Владельцу нужно обработать Pull request и объединить ветку sme-review с “Master”.

- Переходим на вкладку “Pull requests”, чтобы увидеть ожидающие запросы на извлечение.
- Кликаем по запросу и смотрим изменения, выбрав вкладку Files changed.
Note: Для реализации выборочных изменений, переходим в ветку sme-review и вносим обновления перед обработкой pull request. Pull request не дает построчную информацию о том, какие изменения мы хотим принять или отклонить (например, в Microsoft Word «Отслеживать изменения»). Слияние запросов — это процесс «все или ничего». Можно нажать кнопку Review changes , добавить несколько комментариев, а затем установить переключатель «Request changes», попросив рецензента внести изменения.
Также стоит обратить внимание, что если запрос на извлечение выполняется для более старой версии мастера, где исходное содержимое мастера больше не существует или перемещено в другое место, процесс слияния будет более трудным для выполнения.
- Переходим на вкладку “Conversation” и кликаем кнопку Merge pull request .
- кликаем Confirm merge .
Ветка sme-review объединяется с мастером. Теперь “Master” и ветка sme-review совпадают (ветки “смержены”).
- Кликаем кнопку Delete branch для удаления ветки sme-review.
Не обязательно удалять ветку сразу. Старые ветки всегда можете удалить , щелкнув ссылку на ветки при просмотре репозитория Github, а затем нажмите кнопку Delete (корзина) рядом с веткой.
Если посмотреть на список веток, то после удаления ветка sme-review больше не отображается.
Добавление участников в проект
Иногда необходимо добавлять соавторов в проект Github, чтобы они могли вносить изменения в ветку. Если другие участники проекта, не являясь соавторами, захотят внести изменения, они получат сообщение об ошибке. (Inviting collaborators to a personal repository)
Человек без прав на запись, может “форкнуть” (скопировать) репо, а не вносить изменения в ветку в том же проекте. Однако копирование проекта клонирует весь репозиторий, а не создает ветку в том же репозитории. Форк (копия) будет существовать в учетной записи пользователя GitHub. Можно объединить форкнутый репозиторий (это типичная модель для опен-сорс проектов со многими внешними участниками), но этот сценарий, вероятно, менее распространен для технических писателей, работающих с разработчиками в тех же проектах.
Для добавления соавторов в проект:
- В репозитории проекта переходи на вкладку “Settings”.
- Нажимаем на кнопку Collaborators в левой части.
- Вводим имена пользователей Github тех, кому хотим дать доступ в области Collaborator.
- Нажимаем на кнопку Add collaborator .