Version Control¶
ScratchTrack has built-in version control, similar to Git. Every change you make is tracked, and you can branch, merge, and revert your song history at any time.
How It Works¶
Every edit you make — adding a track, recording a clip, adjusting volume, editing MIDI notes — is stored as an immutable event. These events are grouped into commits, forming a history that you can browse and navigate.
You never lose work
- Every change is preserved as an immutable event
- You can revert to any previous state
- You can create branches to experiment without affecting your main version
Branches¶
Branches let you experiment with your song without affecting the main version.
Creating a Branch¶
- Click the branch dropdown in the toolbar.
- Select Create Branch.
- Type a name for your branch.
- Your new branch starts from the current state of the song.
Switching Branches¶
- Click the branch dropdown.
- Select the branch you want to switch to.
- The editor loads that branch's version of the song.
The Main Branch¶
Every song has a main branch. This is the primary version of your song. In shared songs, only the owner can make changes directly to the main branch.
Commit History¶
View the full history of your song:
- Click the History button in the toolbar.
- A modal shows all commits as a graph (DAG visualization).
- Click a commit to see what changed.

You can also browse the full list of commits with details including hash, parent commits, and events:

Reverting to a Previous State¶
- Open the commit history.
- Find the commit you want to revert to.
- Select it to restore your song to that point in time.
Note
When viewing a historical version, the editor enters read-only mode — you can listen and browse, but not make changes. To resume editing, switch back to the latest state.
Merging¶
When you're happy with changes on a branch, you can merge them back into another branch.
Merge Preview¶
Before merging, ScratchTrack shows a preview of all changes:

| Change Type | Color |
|---|---|
| Added tracks | Green |
| Modified tracks | Orange |
| Deleted tracks | Red |
| Moved clips | Blue |
| Modified MIDI clips | Listed with details |
Selective Merge¶
You don't have to merge everything. The merge preview includes checkboxes so you can choose which changes to include.
Fast-Forward Merge¶
If no changes were made on the target branch since you branched off, ScratchTrack performs a fast-forward merge — the branch pointer simply moves forward. No conflict resolution needed.
Conflict Resolution¶
When both branches have changed the same thing (e.g., the same track's volume), a conflict occurs. ScratchTrack provides a conflict resolution interface:
- The conflict resolution view shows each conflict.
- For each conflict, choose:
- Keep Local — Use your branch's version
- Accept Remote — Use the other branch's version
- Once all conflicts are resolved, the merge completes.
Conflicts can occur on track properties (volume, name), clip positions, and other song attributes.
Split View¶
ScratchTrack offers a split view mode to compare two branches side by side:
- Click the Split View toggle in the toolbar.
- Select the branches to compare.
- Both versions display simultaneously for easy comparison.
Next Steps¶
- Sharing & Collaboration — Share songs and collaborate with others
- Exporting Your Song — Export your finished mix