Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Branch CompareNew to Visual Studio Code? Get it now.
Branch Compare

Branch Compare

CodexDebayan

|
468 installs
| (1) | Free
Compare Git branches inside VS Code with a rich dashboard inspired by Bitbucket and GitHub.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Branch Compare

Compare Git branches inside VS Code — without the context switching.

A focused dashboard for reviewing ahead/behind status, commits, and file diffs across all your local branches.


VS Marketplace Open VSX Version Website Downloads Active Installs Rating License


What's New 🚀

  • v2.0.0 - Review, Sync & History

    • Search changed files by path and filter by change type
    • Copy full commit SHAs with one click
    • Explicit Fetch and guarded, fast-forward-only Pull actions
    • On-demand Git history graph with commit details and bounded pagination
    • New theme-aware workspace header, compact branch comparison, and icon-led controls
    • Flatter review surfaces, responsive metric strips, and clearer Base / Target labels
  • v1.4.2 — Cherry-Pick Assistant

    • Bulk select commits
    • Detect file-overlap dependencies
    • Dry-run conflict check
    • Generate or execute cherry-pick scripts
    • → Learn more
  • v1.4.0 — Merge Conflicts

    • Detect merge conflicts
    • Start merges from VS Code
    • Resolve with the built-in Merge Editor
    • → Learn more

📸 Screenshots

Dashboard View

Dashboard Screenshot

Branch Comparison View

Branch Comparison Screenshot

Cherry-Pick Assistant

Cherry-pick Assistant


✨ Features

🔀 Branch Overview Compare all local branches against a selected base — including remote branches when fetched
🌐 Remote Branch Support Fetch and compare remote branches even if they don't exist locally
📊 Ahead / Behind See commit counts at a glance for every branch
🕐 Commit Info View the latest commit author, message, and timestamp
🔍 Search & Sort Find branches fast with built-in filtering
📂 File Diffs Inspect changed files between branches or specific commits; search paths and filter by change type
🔎 Commit Drill-down Explore file-level changes per commit and copy full commit SHAs from the dashboard
🔀 Merge Conflicts Detect, start, and resolve merge conflicts in your workspace — powered by VS Code's built-in merge editor
🎯 Cherry-Pick Assistant Bulk-select commits, auto-detect dependencies, dry-run for conflicts, and execute or copy the generated script
Remote Sync Fetch remote references or pull the checked-out branch with confirmation and fast-forward-only safety
History Inspect Git's branch and merge graph, ref labels, and commit file diffs in the existing dashboard

📦 Install

Available on both registries — pick the one that matches your editor.

Editor Registry Link
VS Code VS Code Marketplace Install →
VSCodium / Gitpod / Theia Open VSX Registry Install →

Via VS Code UI: Open Extensions Ctrl+Shift+X / Cmd+Shift+X, search Branch Compare, and click Install.

Via CLI:

# VS Code
code --install-extension codexdebayan.branch-compare

# VSCodium
codium --install-extension codexdebayan.branch-compare

🚀 Getting Started

Open the Dashboard

Method Action
Command Palette Branch Compare: Open Dashboard
Keyboard shortcut Ctrl+Alt+B (Windows/Linux) · Cmd+Alt+B (macOS)

The command is available when a folder or workspace with a Git repository is open.

Workflow:

  1. Open a Git repository in VS Code
  2. Launch Branch Compare: Open Dashboard
  3. Select a base branch to compare against (local or remote)
  4. Browse the branch list — ahead/behind counts and latest commit info are shown inline
  5. Click any branch to open the detailed comparison view
  6. Explore changed files and launch VS Code diff views directly from the panel

Remote Branches

Branch Compare automatically fetches and includes remote branches in comparisons:

  • Automatic Fetching: Remote branches are fetched from your configured remotes (typically origin)
  • Local-Only Not Required: You don't need to check out or create local tracking branches — compare directly with remote refs
  • Full Comparison: Remote branches are treated as first-class comparisons alongside your local branches
  • Latest State: Remote branch references reflect the most recent fetch — sync your remotes to see the latest branch state

Note: Ensure your remotes are configured (git remote -v) and run git fetch to update remote tracking information before opening the dashboard for the latest results.


Remote Sync

  • Fetch updates references from all configured remotes without changing your working files or checked-out branch.
  • Pull acts on the checked-out branch, not the selected comparison base. A confirmation names that branch and its upstream.
  • Pull requires a clean working tree and no active merge or cherry-pick. It allows only a fast-forward and never creates a merge commit, rebases, or automatically stashes local work.
  • A diverged branch, detached HEAD, or missing upstream produces an error instead of changing local history.

History

Use History beside Branches in the dashboard opened from the existing Branch Compare Activity Bar entry. No additional view container is required.

History reads Git's native graph for all local and fetched remote refs. It loads only when opened, starts with 100 commits, and supports Load more up to 500. Select a commit for file details and diffs, or copy its full SHA. History is read-only; Fetch updates remote refs when needed.

🔀 Merge Conflicts

When a comparison has conflicts, a Merge Conflicts tab appears (with a count badge) beside Summary, Commits, and Files.

  • Start merge in workspace — runs git checkout <base> && git merge <target> (clean tree + confirm required).
  • Click any file → opens it from your working tree; resolve with VS Code's merge editor (Accept Current / Incoming / Both).
  • Stage & commit via Source Control, or Abort merge to back out.

⚠️ The merge action mutates your working tree. It's gated by a confirmation and refuses on a dirty tree.


🎯 Cherry-Pick Assistant

A Cherry-Pick tab inside any comparison turns backporting into a checklist:

  • Bulk-select commits unique to the target branch.
  • Auto-detected dependencies — warns when a selected commit touches files also changed by an unselected ancestor, with one-click "include dependencies".
  • Dry-run in a sandboxed detached HEAD to predict per-commit clean / conflict / skipped results without touching your branch.
  • Execute in workspace to apply the cherry-picks for real, or Copy script to grab a ready-to-run bash sequence.
  • Pause-on-conflict with Continue / Abort controls when a real cherry-pick hits a snag.

⚠️ The execute action mutates your working tree. It's gated by a confirmation and refuses on a dirty tree or while another merge/cherry-pick is in progress.


📋 Requirements

  • Git must be installed and available on your PATH
  • A folder or workspace with at least one Git repository must be open
  • Diff views use temporary snapshots. Pull, Start merge in workspace, and Execute in workspace for cherry-picks can modify your working tree. Cherry-pick dry-runs temporarily check out a detached HEAD and restore the original ref afterward.

Made with ❤️ by codexdebayan

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft