File History & Restore
Per-file history and restore is on the way. This page previews what it will do; we'll update it when the feature ships.
Overview
Every file in your project - dashboards, models, datasets - will get its own File History: a timeline of every version of that file, showing who changed it, when, and why. From that history you'll be able to restore a single file to any past version without touching anyone else's work.
Today, restoring a past version works at the project level: rolling back reverts the entire project, including teammates' unrelated changes since then. File history makes rollback precise - one file, nothing else.
Key capabilities
- Trace a file's history - see every version with author, timestamp, and commit message, plus what each version changed.
- Restore a single file - roll one file back to a past version. Only that file changes.
- Duplicate to a new file - fork a past version into a new file to preview or compare, leaving the current file untouched.
- Jump to project history - if a change spanned several files, open the full project history at that point to see everything that moved together.
How it works
Open a file's History panel to see its version timeline. Each entry shows who made the change, when, and why, and you can open any version to see exactly what it changed.
When a version is captured depends on your project's version-control mode:
- On Git flow (explicit commits), a new version is recorded each time you commit.
- On non-git flow (auto-commit), every change you make is captured automatically as you work - no manual commit needed.
Restoring affects only the file you're viewing. A single commit often touches several files at once. When you restore from one file's history, Holistics rolls back only that file's changes from the version you picked - every other file stays exactly as it is.
What happens when you restore also depends on your mode:
- On Git flow, the restored file appears as an uncommitted change, so you can review it one last time before committing it yourself.
- On non-git flow, the restore is committed automatically, like any other save.
You can also duplicate a past version to a new file to compare side by side without overwriting your current work. And because history is preserved, a restore is itself just another change - if it wasn't what you wanted, restore again.
Related
- Restore Previous Versions - roll back the whole project to a past version.