> ## Documentation Index
> Fetch the complete documentation index at: https://hercules.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Version Control

> Every change creates a version. Revert to previous versions from the Versions tab. Sequential, no branching.

Every change to your app creates a new version. You can revert to a previous version in the **Versions** tab at any time. Useful after [manual code edits](/apps/code-editor) that break something.

<div className="screenshot ocean">
  <img src="https://mintcdn.com/zeus-0f6dadbf/vyfZOWPi9KdyCPiO/images/apps/versions-tab.png?fit=max&auto=format&n=vyfZOWPi9KdyCPiO&q=85&s=6d48223591a34a64b3a8bce4420ad362" alt="Version history" style={{ maxWidth: "450px" }} width="1340" height="1496" data-path="images/apps/versions-tab.png" />
</div>

### How does versioning work?

Versions are **sequential**. Each change creates the next version number:

* Version 1 → Version 2 → Version 3 → ...

Versions don't branch. If you revert from version 10 to version 6 and then make a change, it creates **version 11**.

### How do I view version history?

Open the **Versions** tab in the sidebar to see all changes. Each entry shows:

* What was added or changed
* When it happened

### How do I revert to a previous version?

<Tip>
  We recommend waiting **\~15 seconds** after changing a version for everything to fully propagate.
  The backend needs to redeploy.
</Tip>

Two ways to revert:

1. **Version switcher** near the Publish button
2. **Versions tab** in the sidebar

Click a version and confirm to revert.

<div className="screenshot purple">
  <img src="https://mintcdn.com/zeus-0f6dadbf/vyfZOWPi9KdyCPiO/images/apps/versions-dropdown.png?fit=max&auto=format&n=vyfZOWPi9KdyCPiO&q=85&s=9dd57ae58546d6801adde49afd99a23c" alt="Version switcher" style={{ maxWidth: "350px" }} width="902" height="954" data-path="images/apps/versions-dropdown.png" />
</div>

### Can I go forward again after reverting?

Yes. All versions are preserved in history. Reverting doesn't delete anything.

### How long is version history retained?

Your versions are stored forever.

### Additional FAQ

<AccordionGroup>
  <Accordion title="How do I duplicate an app?">
    You can duplicate any app from the Dashboard. Hover over the app, click the **three-dot menu** (⋯) in the top-right corner, and click **Duplicate**.

    A new copy is created and opens automatically. It includes your app's code, files, settings, description, and AI instructions. The title will have "(Copy)" appended.

    Duplicating does not copy domains, published URLs, commerce settings, analytics data, or template/showcase configuration. The new app starts as an independent, unpublished copy.
  </Accordion>

  <Accordion title="What's included in a version?">
    Almost everything: code, configuration, database schema. A version is a complete snapshot of your app at that point in time.

    The only things a version does NOT include are 1) files uploaded to [Hercules Files and Media](/apps/files-media-storage) and 2) Data in the database.
  </Accordion>

  <Accordion title="Can I name or tag versions?">
    Versions are automatically named based on what changed. Custom naming/tagging is on the roadmap.
  </Accordion>

  <Accordion title="Why does it take time to propagate after reverting?">
    Reverting restores code, rebuilds the app, and updates the preview. This takes up to \~30 seconds depending on app complexity.
  </Accordion>
</AccordionGroup>
