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

# Restore an earlier project version

> Preview and restore earlier code without deleting later chat or changing project database data.

> Preview an earlier project version, restore its code, and keep the later conversation available for reference or reuse.

PeachJam saves a version when the Builder completes a project change. Each version includes the source revision and Preview artifact for that change.

## Preview or restore a version

Open **History** from the project header to browse saved versions. Select a version to preview it without changing the current project.

To make an earlier version current:

1. Open **History**.
2. Find the version that you want.
3. Select **Revert**.
4. Confirm **Revert to this version?**.

You can also select **Undo latest edit** on the latest Builder work card.

PeachJam creates a new version whose source matches the selected checkpoint. It does not delete or rewrite the earlier versions.

## Chat and database behavior

Restoring changes the project code and Preview. It does not delete later chat messages. Open **Additional actions → History**, then expand **Reverted messages** to review or restore a later checkpoint.

Restoring project history does not roll back database data or replace the project's backend connection. If the restored code expects an older database schema or different rows, update the database separately.

Restoring also does not republish the project. Review the restored Preview before you publish it.

## GitHub behavior

If the project is connected to GitHub, PeachJam commits the restored source as a new change on the active GitHub branch. The new commit keeps the existing branch history. PeachJam does not reset or force-push the branch.

The restored source is the complete selected code tree. Files added in later PeachJam or GitHub changes are removed from the active tree when they are not present in the selected version. Their earlier commits remain in GitHub history.

If GitHub changed at the same time, PeachJam uses the normal branch recovery flow instead of overwriting the unexpected change. See [Sync a PeachJam project with GitHub](/integrations/github#restore-project-history-while-connected).

If the project is disconnected from GitHub, the restore remains in PeachJam and no commit is sent to the old repository.
