# Merge (/academy/merge)



A merge is taping two set lists into one show.

You wrote songs on a [branch](/academy/branch). Someone else — or last-night you — wrote songs on `main`. A merge is the moment both lists become tonight's set. [Git](/academy/git) is good at this when you touched different songs.

When both lists name a different encore for the same slot, Git stops. That stop is a **merge conflict**. The file shows both encores and some angry markers. You pick. Or you write a third. Then you [commit](/academy/commit) the set that will actually play.

**Most tapes are quiet**

You changed `auth.ts`. They changed `readme.md`. Git lays the tape and walks away. The fight is only the shared line.

A [pull request](/academy/pull-request) is asking the house to play your list. The green button is the merge. "This branch has conflicts" is the sound check telling you two encores collided.

Conflicts are not a moral failing. They are two benches in the same shop touching one knob. Talk, then delete the markers. A file that still contains `<<<<<<<` will not compile, and it will not impress a judge.

**Finish the set before you sleep**

Do not leave conflict markers for the morning demo. Agents via [MCP](/academy/mcp) can propose a resolution. You still read the encore. The scaffold from `npx create-hackhaton-space-stack@latest` is easiest to merge when each feature lived on its own [branch](/academy/branch) instead of five people editing `main` like a group chat.

**What this unlocks**

Two nights of work in one running app.

Tape the lists. Pick the encore. Play.
