PullMerge
Right-click any branch to pull it and merge it into your current branch. One click, no checkouts.
Why
Getting the latest from another branch usually means:
- Check out the other branch
- Pull
- Check out your branch again
- Merge
PullMerge does all of that from a single context menu item, without ever leaving your branch.
How to use
Right-click any branch that isn't your current one and pick Pull and Merge 'branch' into 'current'. It's available in:
- The branch list in the Git Repository window
- The branch picker in Git Changes
Works with local and remote branches.
What it does
- Local branch - fast-forwards it from its upstream, then merges it into your current branch.
- Remote branch - fetches it, then merges it into your current branch.
Progress shows in the status bar. Every git command and its output is logged to the PullMerge pane in the Output window.
Fail states
- Merge conflicts - the merge is left in progress and Git Changes opens so you can resolve or abort it.
- Unpushed commits on your current branch - asks before continuing. Turn this off in Tools > Options > PullMerge.
- Clicked branch has diverged from its remote - the pull is rejected and nothing is merged.
- Clicked branch has no upstream - stops with a message. Nothing is pulled or merged.
- Pull fails (network, auth, etc.) - stops with git's error. Nothing is merged.
- Merge blocked by uncommitted changes - stops with git's error. Your changes are untouched.
Settings
Tools > Options > PullMerge
- Warn on unpushed commits - on by default.
Requirements
- Visual Studio 2022 (17.14+) or Visual Studio 2026. Community, Professional or Enterprise.
- Git installed and on your PATH.
Known limitations
Visual Studio doesn't offer an official way to extend its Git branch menus, so PullMerge hooks into them directly. A Visual Studio update can change those menus. If that happens, the menu item disappears until PullMerge is updated. Nothing else breaks.
License
MIT