Complete, abandon, or revert pull requests - Azure Repos (2024)

  • Article

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

Visual Studio 2019 | Visual Studio 2022

Once all required reviewers approve your pull request (PR) and the PR meets all branch policy requirements, you can merge your changes into the target branch and complete the PR. Or if you decide not to proceed with the changes in the PR, you can abandon the PR.

To address reviewers' changes, and respond to and resolve review comments, see Address comments.

Prerequisites

  • Repos must be enabled on your project. If the Repos hub and associated pages don't display, see Turn an Azure DevOps service on or off to reenable Repos.

  • To complete your PR, you must be a member of the Contributors security group, or have the corresponding permissions, in the project the PR is in.

  • To contribute to a PR, you must be a member of the Readers security group or have the corresponding permissions.

  • To view or review PRs, you must have Basic or higher access to the Azure DevOps project.

  • If you aren't a member of the project you want to contribute to, get added.

    Note

    For public projects, users granted Stakeholder access have full access to Azure Repos.

  • Repos must be enabled on your project. If the Repos hub and associated pages don't display, see Turn an Azure DevOps service on or off to reenable Repos.
  • To complete a PR, you must be a member of the Contributors security group, or have the corresponding permissions, in the project you want to change.
  • To contribute to a PR, you must be a member of the Readers security group or have the corresponding permissions.
  • To view or review PRs, you must be a member of the Azure DevOps project with Basic access or higher. If you aren't a project member, get added.
  • For more information about permissions and access, see Default Git repository and branch permissions and About access levels.
  • In Azure DevOps Services, you can manage PRs and other resources from the Azure command-line interface (CLI) with the azure-devops extension. To learn how to work with the Azure DevOps Services CLI, see Get started with Azure DevOps CLI. Azure Repos CLI commands for PRs use az repos pr.

Check merge changes

When you complete a PR, Git adds a new merge commit to the end of the main branch. This merge commit links the earlier histories of the main branch and the PR source branch. To see the preview merge commit and check for merge conflicts, select the More options menu at upper right on a PR Overview page, and then select View merge changes.

If you changed the target branch after creating the PR, select Restart merge to create a new preview merge commit and update the merge change diff view.

Complete, abandon, or revert pull requests - Azure Repos (1)

Review branch policies

Teams can set branch policies that require PRs in protected branches to meet specific criteria before the PRs can merge. You can see the branch policies in effect for your PR, whether they're required for merge, and whether the PR is passing or failing.

  • Browser
  • Visual Studio
  • Azure DevOps CLI

The PR Overview tab summarizes branch policies that are passing or failing for the PR. The overview lists only failed policies, but you can see all the policy checks by selecting View <n> checks.

On the PR Overview page, branch policy requirements have an Complete, abandon, or revert pull requests - Azure Repos (2) icon. Select More options next to the requirement and then select View policy to go to the branch's Branch Policies page in Project Settings.

Complete, abandon, or revert pull requests - Azure Repos (3)

Complete a pull request

After you resolve any merge conflicts, and the PR meets all branch policies and has all required approvals, you can complete the PR.

  • Browser
  • Visual Studio
  • Azure DevOps CLI
  1. Select Complete at upper right to complete the PR. Or select the dropdown arrow next to the Complete button, and select one of the options.

    Complete, abandon, or revert pull requests - Azure Repos (4)

    • Complete: Complete the PR now, and merge the changes to the target branch.
    • Set auto-complete: Configure the PR to complete and merge once it meets all required branch policies.
    • Mark as draft: Return the PR to draft status and remove all votes.
    • Abandon: Close the PR without merging the changes.
  2. In the Complete pull request pane, under Merge type, select one of the merge options.

    Complete, abandon, or revert pull requests - Azure Repos (5)

    • Merge (no fast forward): Merge with a non-linear history that preserves all commits.
    • Squash commit: Merge with a linear history that combines all source commits into a single commit on the target, or squash merges the PR. Be aware that a new commit will be created for the target branch without keeping the commit history from the source branch.
    • Rebase and fast-forward: Rebase the source commits onto the target and fast-forward.
    • Semi-linear merge: Rebase source commits onto the target and create a two-parent merge.

    Note

    Existing policies are enforced. For example, if your branch currently has a "squash merge only" policy, you have to change that policy if you want to use another merge type.

  3. Select any of the following post-completion options. Some options aren't available for some merge types.

    • Complete associated work items after merging: Complete any linked work items.
    • Delete <branch name> after merging: Delete the PR's source branch after merging.
    • Customize merge commit message: Add a custom merge commit message. If you select this option, update the merge commit message.
    • Override branch policies and enable merge. Force the merge even if the PR doesn't satisfy all branch policies. This option is only available if you have Exempt from policy enforcement permission.
  4. Select Complete merge.

  1. Select Complete at upper right to complete the PR. Or, select the dropdown arrow next to the Complete button, and select one of the following options:

    Complete, abandon, or revert pull requests - Azure Repos (6)

    • Complete: Complete the PR now, and merge the changes to the target branch.
    • Set auto-complete: If you have branch policies, configure the PR to complete and merge once it meets all required branch policies.
    • Abandon: Close the PR without merging the changes.
  2. On the Complete pull request screen, enter the message for the merge commit and update the PR description.

    Complete, abandon, or revert pull requests - Azure Repos (7)

  3. Select any of the following options:

    • Complete linked work items after merging to complete any linked work items.

    • Delete <branch name> after merging to delete the source branch from the PR.

    • Squash changes when merging to squash merge your PR. Be aware that a new commit will be created for the target branch without keeping the commit history from the source branch.

    • Override branch policies and enable merge to force a branch to merge even if it doesn't satisfy all branch policies. This option is only available if you have Exempt from policy enforcement permissions.

      Note

      Existing policies are still enforced. For example, if your branch currently has a "squash merge only" policy in place, you have to edit that policy in order to use the other merge types.

  4. Select Complete merge.

When you complete the merge, any linked work items automatically update to show the PR completion.

Complete, abandon, or revert pull requests - Azure Repos (8)

Rebase during PR completion

There are a few situations when rebasing during PR completion isn't possible:

  • If a policy on the target branch prohibits using rebase strategies, you need Override branch policies permission to rebase.
  • If the PR source branch has policies, you can't rebase it. Rebasing would modify the source branch without going through the policy approval process.
  • If you used the Merge Conflict Extension to resolve merge conflicts, you can't rebase. Conflict resolutions applied to a three-way merge are seldom successful or valid when rebasing all the PR commits individually.

In all these cases, you can still rebase your branch locally and then push upstream, or squash-merge your changes when you complete the PR.

Multiple merge base issue

In some cases, a PR has more than one true merge base, and this situation can cause security issues. If the files in the PR have different versions between the merge bases, a multiple merge base warning happens. For more information and remediation, see Multiple merge bases.

Resolve merge conflicts

File changes in your branch can conflict with changes in another branch. When it isn't clear how to merge changes, Git shows the files that conflict on the PR's Overview page. You must resolve any merge conflicts between the PR branch and the target branch before you can merge a PR or set the PR to autocomplete. For instructions on resolving merge conflicts, see Resolve merge conflicts.

Complete, abandon, or revert pull requests - Azure Repos (9)

Set a pull request to autocomplete

  • Browser
  • Visual Studio
  • Azure DevOps CLI

Select Set auto-complete from the Complete dropdown list to complete and merge the PR changes as soon as conditions satisfy all branch policies. When the PR is completed, you receive an email notification. If a conflict or error prevents PR completion, email notifies you of the issue.

Note

The Set auto-complete option is available in Azure Repos and TFS 2017 and higher when you have branch policies. If you don't see Set auto-complete, you don't have any branch policies. For more information, see Branch policies.

By default, a PR that's set to autocomplete waits only on required policies. In the Enable automatic completion panel, you can choose to wait on optional policies as well.

Complete, abandon, or revert pull requests - Azure Repos (10)

Starting with TFS 2018 Update 2, the PR Overview page displays the list of outstanding policy criteria the PR is waiting for. If you set a policy to be required in the Enable automatic completion panel, you can set it back to optional on the Overview page.

Select Cancel auto-complete to turn off autocomplete.

Complete, abandon, or revert pull requests - Azure Repos (11)

Complete, abandon, or revert pull requests - Azure Repos (12)

A PR set to autocomplete displays an Auto-complete badge on the Pull requests page.

Complete, abandon, or revert pull requests - Azure Repos (13)

Abandon or reactivate a pull request

  • Browser
  • Visual Studio
  • Azure DevOps CLI

To abandon your changes and your PR without merging, select Abandon from the dropdown list on the Complete button. You can still view the abandoned PR, and it stays linked to work items.

To reactivate an abandoned PR at any time, open the PR from the Abandoned tab in the Pull Request view, and select Reactivate at upper right.

Revert a completed pull request

To undo the changes from a PR, follow these steps. For more information, see Undo changes.

  1. Open the completed PR and select Revert. This action creates a new branch with changes that undo the PR in an existing target branch in your repo.

  2. In the Revert pull request pane:

    1. Under Target branch, select the branch where you want to undo the PR changes.
    2. Under Topic branch name required, change the revert PR branch name if you want.
    3. Select Revert.
  3. On the New pull request screen, select Create.

  4. Merge the new PR to complete the revert.

Note

The branch created during this revert has a single commit that reverts all the file changes from the original PR. The branch doesn't contain a reverted commit for each of the commits in the original PR.

Next steps

Copy changes with cherry-pick

Related articles

  • Pull request update notifications
  • About pull requests and permissions
Complete, abandon, or revert pull requests - Azure Repos (2024)
Top Articles
Top 30 Canadian Blue Chip Stocks You Should Own
How Are Dividends Taxed?
Star Wars Mongol Heleer
Week 2 Defense (DEF) Streamers, Starters & Rankings: 2024 Fantasy Tiers, Rankings
Myexperience Login Northwell
Faint Citrine Lost Ark
Unitedhealthcare Hwp
Soap2Day Autoplay
Vaya Timeclock
Teenbeautyfitness
Mustangps.instructure
Best Theia Builds (Talent | Skill Order | Pairing + Pets) In Call of Dragons - AllClash
Atrium Shift Select
270 West Michigan residents receive expert driver’s license restoration advice at last major Road to Restoration Clinic of the year
Devourer Of Gods Resprite
Best Cav Commanders Rok
Natureza e Qualidade de Produtos - Gestão da Qualidade
Flights To Frankfort Kentucky
Nebraska Furniture Tables
Labor Gigs On Craigslist
2015 Honda Fit EX-L for sale - Seattle, WA - craigslist
Burn Ban Map Oklahoma
National Office Liquidators Llc
boohoo group plc Stock (BOO) - Quote London S.E.- MarketScreener
Bend Pets Craigslist
Traveling Merchants Tack Diablo 4
Airrack hiring Associate Producer in Los Angeles, CA | LinkedIn
Pickswise Review 2024: Is Pickswise a Trusted Tipster?
ABCproxy | World-Leading Provider of Residential IP Proxies
The EyeDoctors Optometrists, 1835 NW Topeka Blvd, Topeka, KS 66608, US - MapQuest
New Stores Coming To Canton Ohio 2022
Uncovering the Enigmatic Trish Stratus: From Net Worth to Personal Life
Gesichtspflege & Gesichtscreme
Craftsman Yt3000 Oil Capacity
Davita Salary
Does Circle K Sell Elf Bars
Play 1v1 LOL 66 EZ → UNBLOCKED on 66games.io
Www.craigslist.com Waco
Acts 16 Nkjv
QVC hosts Carolyn Gracie, Dan Hughes among 400 laid off by network's parent company
Linkbuilding uitbesteden
City Of Irving Tx Jail In-Custody List
Enter The Gungeon Gunther
7 Sites to Identify the Owner of a Phone Number
Cataz.net Android Movies Apk
Varsity Competition Results 2022
Latest Posts
Article information

Author: Kelle Weber

Last Updated:

Views: 6131

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Kelle Weber

Birthday: 2000-08-05

Address: 6796 Juan Square, Markfort, MN 58988

Phone: +8215934114615

Job: Hospitality Director

Hobby: tabletop games, Foreign language learning, Leather crafting, Horseback riding, Swimming, Knapping, Handball

Introduction: My name is Kelle Weber, I am a magnificent, enchanting, fair, joyous, light, determined, joyous person who loves writing and wants to share my knowledge and understanding with you.