Merge and rebase

Ramo shows the result before anything changes, and every merge or rebase can be undone.

Drag a branch

Drag a branch from the sidebar (or a branch label from History) onto another branch. A menu opens with three choices:

  • Merge keeps both lines of history and adds a merge commit (or fast-forwards when it can).
  • Squash and merge turns the branch's commits into one new commit.
  • Rebase replays the commits on top of the other branch, for a straight history.

Press M, S or R to pick, ↵ to confirm, Esc to cancel. The preview redraws the history for the option you point at, and a dry run says whether conflicts are expected, without touching your files.

Hold ⌥ while you drop to repeat your last choice without the menu.

From the toolbar

Merge (⌥⌘M) and Rebase (⌥⌘R) open the same choices for the current branch.

Interactive rebase

Choose Interactive Rebase… in the Repository menu to rewrite the current branch before you share it. For each commit, pick Pick, Reword, Squash, Fixup or Drop (keys P, R, S, F, D), and move commits with ⌥↑ and ⌥↓ or by dragging. The result on the right updates as you go. Nothing changes until you start, and Ramo keeps a backup branch.

When it stops on conflicts

A banner tells you a merge or rebase is waiting. Resolve conflicts opens the resolver; Continue finishes once every file is resolved; Abort goes back to where you were. See Resolving conflicts.