Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>MergeShip - Conflict ResolverNew to Visual Studio Code? Get it now.
MergeShip - Conflict Resolver

MergeShip - Conflict Resolver

Samit Bhattacharjee

|
2 installs
| (0) | Free
Ship files between branches, resolve conflicts, vault vanished code, and build projects with error fixes.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MergeShip — Merge Conflict Resolver

A VS Code extension for resolving merge conflicts across git-based repos (GitHub / GitLab / Bitbucket — the provider is auto-detected from git remote). It ships files between branches, resolves conflicts to the branch you choose, vaults any code that would be overwritten, and builds your project with fixable error reports.

Features

1. Ship files between branches (develop → stage, or any names)

  • Pick source and target branches (custom names supported, defaults develop / stage).
  • Add files by name, hit All to grab every differing file, or Remove to forget selected ones.
  • Conflicts are resolved at line level — the source branch's side wins inside conflict blocks while the target branch's clean, non-conflicting changes are preserved.
  • Switch direction any time with the ⇄ button — same buttons, same behavior, so syncing stage → develop is identical.

2. Sync latest / compare branches

  • Every file in the list shows a "newest on source/target" badge (from last-commit dates), so you can see where the latest code lives before shipping.
  • Ship in either direction to align branches.

3. Vanished Code Vault

  • Automatically saves the old content of every file you overwrite while shipping (nothing can silently disappear).
  • Manually capture the current file via the command palette.
  • Browse saved snippets grouped by file (with branch + timestamp), View, Copy, Append to file, or Restore them back — one click.

4. Build project & fix errors

  • Auto-detects Next.js, React, Express, NestJS, FastAPI, Flask, Django, .NET, Spring Boot (Maven/Gradle).
  • Runs the correct build command, parses compiler errors (TS / C# / Java / Python), and pushes them to the Problems panel with click-to-jump.
  • A dedicated panel shows the offending source line plus a suggested fix for common errors (TS2304, TS2307, CS0246, cannot find symbol, ModuleNotFoundError, …).

Usage

Open a cloned git repo in VS Code. The MergeShip activity bar icon shows three views:

View What it does
Ship Files Branch pickers, Add/All/Remove, Ship button
Vanished Code Vault View / Copy / Append / Restore captured code
Build & Fix Detect project, run build, browse errors + fixes

Commands (Command Palette → MergeShip: …)

  • Ship files between branches
  • Sync latest from branch
  • Open Vanished Code Vault
  • Capture current file to Vault
  • Build project & fix errors
  • Resolve conflict markers in active editor — quickly resolve <<<<<<</=======/>>>>>>> blocks in the open file to the left or right side.

How shipping works

For each selected file:

  1. git merge-base <source> <target> gives the common ancestor.
  2. A line-level three-way merge (diff3) is run: the target's non-conflicting changes are kept; real conflicts resolve to the source branch.
  3. The file is written to the working tree. If the working-tree copy has uncommitted changes you're asked before overwriting, and the old content is auto-saved to the Vault.
  4. Optional mergeship.autoStageAfterShip runs git add on the shipped files.
  5. Binary files are copied byte-for-byte from the source branch (no text merge).

No commits are made automatically — everything lands in the working tree for review.

Settings

Setting Default Meaning
mergeship.defaultSourceBranch develop Default source branch
mergeship.defaultTargetBranch stage Default target branch
mergeship.autoStageAfterShip false git add shipped files
mergeship.vaultMaxEntries 500 Max vault entries per workspace
mergeship.promptOnDirtyFile true Ask before overwriting dirty files

Development

npm install
npm run watch      # esbuild watch
npm run typecheck  # tsc --noEmit
npm test           # build + run unit/integration tests (uses throwaway git repos)
npm run package    # build the .vsix

Press F5 in VS Code to launch the extension host for manual testing.

Tests

test/merge.test.ts spins up real fixture repos and verifies the three-way merge, binary handling, add/delete cases, and branch comparison. test/parse.test.ts covers the compiler-output parsers, and test/store.test.ts the vault store + suggestion engine.

Notes

  • Works against any git remote (GitHub/GitLab/Bitbucket) via local git — no tokens or API keys needed.
  • Dependencies required on PATH: git, and for Build & Fix: node/npm, python, dotnet, or mvn/gradle depending on your project.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft