Merge in Studio
Merge in Studio

Integrate reviewed branch changes into the canonical branch — visually, in the browser.

Once a branch is reviewed, you merge it into the canonical branch directly in IOModel Studio. Merge is built on the branch and commit model: review the visual diff, preview the merged result, then merge in the browser — synced to a GitHub or GitLab merge request when the repository is connected.

How landing works depends on the target branch type:

TargetHow changes land
StandardAny editor can merge (including the author). No merge request required.
ProtectedOpen a merge request. Another editor must merge it — you cannot merge your own. Git-sync merge requests can be merged by any editor.
CollabCommit directly on the room. Publish outward by merging (or requesting review) into Standard or Protected.

The merge flow

Finish and commit

Commit all work on the branch with clear messages so the diff reflects a stable state.

Review the visual diff

Open the branch diff and confirm the added, removed, and changed objects, links, and specs are exactly what you intend.

Preview the merged result

Studio shows the combined state before you commit to it, so there are no surprises after merging.

Merge on approval

Merge the branch into the target in Studio. On Protected, this is Request review until another editor merges the request. The reviewed state becomes the project’s canonical reference.

Clean up

Archive branches whose work has landed.

What gets merged

ContentMerged
Model objects and linksAdded, removed, and modified, on the diagram
SpecificationsMDX page content and structure, including _attachments/
AttachmentsImages, OpenAPI, ERD, workflow, source-text, and other declared files

Canonical state

ConceptRole
Default branchThe canonical, shippable state
Reviewed branchA proposed change, validated via visual diff
MergeIntegrating the reviewed branch into the target

Synced with git

When a project is connected with Git sync, a merge in Studio is mirrored to the linked repository — the same change can land as a GitHub pull request or GitLab merge request.

Force merge

Bypassing model validation (force) is an admin action and is recorded on the merge. Use it only when you intend to land an invalid model.

Keep branches short-lived. The longer a branch lives, the more its base moves and the larger the diff to review before merge.

Last updated on