Topic branches
Branches let you create independent copies of a topic's content. Edit a branch without affecting the main version, then merge your changes back when ready.
Before you begin
This feature requires the Enterprise capability tier (the Business ). During the beta, every project is on the free Solo tier, so this feature is locked by default: go to Settings ▸ Billing and request Enterprise access to unlock it.
Create a branch
Open a topic in the editor.
Click the branch selector in the editor header (shows "main" by default).
Type a branch name in the Branch name field, for example "v2-rewrite" or "jan-review."
Click Create branch.
The editor switches to the new branch. Your edits now apply to this branch only, and the main version remains unchanged.
Switch branches
Click the branch selector in the editor header.
Select the branch you want to edit.
The editor loads the selected branch's content. Unsaved changes on the current branch are preserved.
Rename a branch
Open the branch selector.
Hover over the branch name and click the rename icon.
Enter the new name and confirm.
Delete a branch
Open the branch selector.
Hover over the branch name and click the delete icon.
Confirm the deletion.
Deleting a branch permanently removes its content. This cannot be undone. Make sure you have merged any changes you want to keep before deleting.
Merge a branch
Switch to the branch you want to merge (the merge action only appears when you are on a non-main branch).
Open the branch selector and click Merge into main.
The merge dialog opens, showing:
Source: the branch being merged (your working branch).
Target: the destination (main).
Stats: number of blocks added, modified, and removed.
An optional Delete branch after merge toggle.
Click Merge.
Merging uses a three-way comparison (base, source, target) to combine changes. If both branches modify the same block, you will need to resolve the conflict manually using the side-by-side conflict resolution view. Always review the merge preview before confirming.
Three-way merge
When merging a branch, Topicary performs a block-level three-way merge comparing the branch, the target, and their common ancestor. This detects true conflicts (where both sides changed the same block) as opposed to clean merges (where changes do not overlap).
Clean merge
If there are no conflicts, the merge completes automatically. The target is updated with all changes from the source.
Conflict resolution
If both branches modified the same block, the dialog shows a side-by-side view of each conflicting block so you can choose which version to keep:
Branch: the source (branch) version of the conflicting block, on the left.
Main: the target version, on the right.
Click the version you want to keep for each conflict. The selected side is highlighted.
After resolving every conflict, click Apply resolutions to finalize the merge.
Keep branches short-lived. The longer a branch diverges from main, the more likely you are to encounter conflicts. Merge frequently to minimize resolution effort.
Changes to content reach your published site within 24 hours as its cache refreshes. To push updates live right away, click Update on the affected .
See also
Real-time collaboration: simultaneous editing on the same version
Track changes and suggestions: propose changes as reviewable suggestions instead of branching
View and restore topic history: browse past versions without using branches
Sync with GitHub: bidirectional GitHub sync also uses branch-like conflict resolution