# File History & Restore > Browse a single file's version history and restore just that file to a past version, without affecting the rest of your project. :::info Coming soon 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](/docs/git-version-control) (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](/docs/git-version-control), 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](/docs/git-version-control/version-restore) - roll back the whole project to a past version.