Skip to content

Merging branches

Bringing another branch's work into yours is a palette action, not a buried menu: open the palette (⌘K) and every local branch offers Merge and, when your branch is simply behind, Fast-forward. A merge that brings in diverged history records a merge commit; if the two branches touched the same lines, the merge pauses and the three-way merge editor takes over.

Merging a branch from the palette

From the branch you're on, open the palette and pick the other branch's Merge entry — here, merging feature/login into main. Git Manager runs the same merge git would: commits already contained in your branch are skipped, new ones come in, and a diverged history gets a merge commit. If the branches conflict, the merge pauses and the merge editor opens on the conflicted files.

Merging a branch from the palette

Captured from the running app by this scenario.

Do this

  1. Open the command palette
  2. Pick Merge a branch into main… from the palette
  3. Pick feature/login from the palette

You should see

  • The branch indicator reads main
  • The command palette is shown
  • The branch main contains the commit feat: add login screen
  • No error notification is displayed

Fast-forwarding the current branch onto another

If your branch is strictly behind another — every commit of yours is already part of its history — there is nothing to merge: fast-forward just moves your branch pointer up to match, with no merge commit. The palette offers it per branch, so catching a release branch up to main is one keystroke away.

Fast-forwarding the current branch onto another

Captured from the running app by this scenario.

Do this

  1. Open the command palette
  2. Pick Fast-forward release/1.0 to a branch… from the palette
  3. Pick main from the palette

You should see

  • The branches release/1.0 and main point at the same commit
  • No error notification is displayed

This page is generated from apps/e2e/features/merge-branches.feature, the end-to-end test that drives the feature it describes.

MIT licensed · Screenshots exported from the real app by the end-to-end suite.