Branches and merges
Branches are local refs to commits. They let an evaluation explore alternative project states without duplicating every referenced object.
Branches are references
Creating a branch records another name for a commit. Shared immutable chunks remain shared. Switching updates the working tree to the selected state; actual cost depends on changed files, object availability, and the filesystem—not an “instant” guarantee.
Text and binary changes
Text-oriented paths can use familiar line merge behavior. Opaque binary assets do not have a universally safe automatic merge. Local locks and explicit ours/theirs decisions can help, while future semantic records may enable narrower domain-aware conflicts.
Merge safety
Inspect status and diffs, commit or stash intentional local work, and keep independent backups during alpha evaluation. The current restorepath does not provide complete merge-conflict resolution.