⬡Merge · Rebase · Reset
The three core integration operations, reachable from the action rail and the branch / commit context menus. All three pause on conflict and surface the resolution banner.
Merge merge
Entry points
- Action railMerge branch button.
- Branch menuMerge '<branch>' into '<current>'.
- Tag menuMerge '<tag>' into '<current>'.
- The confirm dialog first shows the conflict preview verdict.
- Go runs merge with
{ branch }. - A clean merge updates the log; a conflict pauses and shows the conflict banner (Continue commits the merge).
Merge conflict preview merge.preview
Every merge confirm answers the question you actually have — "will this conflict?" —
before anything runs. The dry run happens entirely in git's object database
(git merge-tree --write-tree): the index, working tree and refs are untouched.
What happens next
- Picking a merge (action rail / branch menu / tag menu) sends merge.preview with
{ theirs }(ours defaults toHEAD). - The confirm dialog appends the verdict: "merges cleanly — no conflicts", or "⚠ will conflict in N files" with the first 8 paths listed.
- You decide with full information; declining leaves the repo exactly as it was.
iNeeds git ≥ 2.38. On older git the preview silently degrades to a plain confirm — the merge itself is unaffected. Bad refs are validated up front (merge-tree's exit code can't distinguish "conflicts" from "not mergeable").
Rebase rebase
Entry points
- Action railRebase button.
- Branch menuRebase '<current>' onto '<branch>', or Checkout and Rebase onto '<current>'.
- Go runs rebase with
{ onto }. - On conflict it pauses with Continue / Skip / Abort (see conflicts).
Reset reset
Entry points
- Commit menuReset Current Branch to Here… — prompts for
soft/mixed/hard. - Reflog timelinePer-row soft / mixed / hard buttons — see reflog.
- Go runs reset with
{ commit, mode }. - A hard reset on a dirty tree auto-stashes tracked changes first, so nothing is lost; the toast says "changes auto-stashed".
| Mode | Effect |
|---|---|
| soft | Move HEAD; keep changes staged. |
| mixed | Move HEAD; keep changes unstaged. |
| hard | Move HEAD; discard changes (auto-stashed first). |