Skip to content

Merging & Conflicts

Available

When you have multiple timelines, you’ll eventually want to merge them — combining changes from one timeline into another. CutReady handles this with a three-way merge engine that understands your project’s file types.

  1. Open the timeline selector dropdown in the Snapshots panel
  2. Hover over the timeline you want to merge
  3. Click Merge — this combines the hovered timeline into your active timeline

If the two timelines changed different files — or different parts of the same file — the merge completes automatically:

  • A success toast appears: “Combined Experiment into Main — 3 files merged”
  • The merged snapshot appears at the top of your graph
  • The source timeline can optionally be kept or deleted

When both timelines changed the same fields in the same file, CutReady opens the Merge Conflict Panel — a dedicated UI for resolving each conflict.

Merge conflict panel Merge conflict panel
The conflict resolution panel showing per-file conflicts with resolution options

CutReady performs a three-way merge using the common ancestor of both timelines. This means it can automatically resolve most changes — only truly overlapping edits require your input.

For sketch files (.sk): Conflicts are detected at the field level. If both timelines changed the title of the same sketch, you’ll see that specific field as a conflict. Other fields that only one timeline changed are auto-resolved.

For note files (.md): Conflicts are detected at the line level, similar to traditional code merge. Overlapping paragraphs are highlighted with both versions shown.

For storyboard files (.sb): Conflicts can occur on metadata fields (title, description) or on the items array when both timelines reordered the sketch sequence.

For each conflicting file, you have three choices:

OptionWhat it does
Keep MainUse the version from your active timeline
Keep TheirsUse the version from the incoming timeline
EditOpen a custom editor to write your own resolution

The conflict panel shows each file with its conflicting fields. Non-conflicting fields are dimmed and labeled “auto-resolved” — you only need to decide on the overlapping changes.

Once all conflicts are resolved, click Apply & Combine:

  • A merge commit is created with two parents (one from each timeline)
  • The merged result appears as the latest snapshot on your active timeline
  • The source timeline remains available unless you choose to delete it

Click Cancel at any time during conflict resolution to abort. This restores your project to the exact state before the merge began — no changes are made.

When pulling changes from a remote repository, CutReady uses the same merge engine. If remote changes conflict with your local work, the Merge Conflict Panel opens with “remote” as the incoming source. See Remote Sync for details.