Most platforms treat classic uploads as a legacy shim. On Mirahost, both paths feed the same versioning pipeline — every change becomes a snapshot you can diff, promote, or roll back.
However a change arrives, it exits as the same thing: an immutable, versioned deploy.
Drops the reworked theme into /templates like always. The session closes; Mirahost snapshots it as deploy_c81a.
Pushes a branch; Mirahost builds it and posts a preview URL to the pull request. The designer's SFTP changes are already merged into the build — no rebase archaeology.
A plugin update misbehaves. The panel shows every deploy this week — who made it, what changed, from which door. One click restores Wednesday's build in seconds.
Every site gets a staging copy — same container spec, same database engine, isolated data. Test the PHP upgrade, the plugin update, or the redesign against a real clone, then promote it with one click.
FTP clients, Git remotes, and the panel all work from day one.