Skip to main content

Restore Overview

GitSec's restore feature lets you recover a backup snapshot to a new repository on GitHub or Bitbucket. Restoring into an existing repository is not available yet.

Restores Overview

Restore App vs. Backup App

When restoring to GitHub, GitSec uses two separate GitHub Apps:

AppPermissionsPurpose
Backup AppRead-onlyReads your repository data to create backups.
Restore AppRead & WriteCreates or pushes to repositories during a restore.

The Restore App is separate because restoring requires write access to create new repositories or push code. This separation follows the principle of least privilege, the Backup App never has write access to your repositories.

info

The Restore App is installed on-demand when you start your first restore. You will be prompted to install it on the target GitHub organization during the restore wizard.

:::warning All Repositories Required When installing the Restore App, you must select All repositories: not "Only select repositories". The restore process requires access to all repositories in the target organization to function correctly. If you select specific repositories only, the restore will fail. :::

When restoring to Bitbucket, there is no GitHub App to install. Instead, you select a target workspace from your connected Bitbucket account during the restore wizard.

What Can Be Restored?

Currently, the following scopes can be restored:

ScopeStatus
Code & CommitsActive
Pull RequestsComing Soon
IssuesComing Soon
Wiki PagesComing Soon
ProjectsComing Soon
ReleasesComing Soon

Global Restores Page

Navigate to Restores in the sidebar to see all completed restore operations. The table shows:

  • Target Repository: The repository the backup was restored to, shown with its Git provider icon (GitHub or Bitbucket).
  • Source Repository: The repository the backup was originally taken from, also shown with its provider icon.
  • Scopes: The content types that were restored (for example, Code & Commits).
  • Start Date / Finish Date: When the restore started and finished.
  • Elapsed Time: Total duration of the restore.
  • Size: The total size of the restored data.

The page also gives you tools to find and track restores:

  • Search: Filter the list by target repository name.
  • Pagination: Move between pages and change how many rows are shown per page.
  • Refresh: Click the refresh button at the top right of the page to reload the list on demand.

Restores that are still running, failed, or were cancelled do not appear on this page, track them on the Activity page instead.

Viewing Restore Details

Ongoing and unsuccessful restores are monitored on the Activity page. Click the expand arrow on any restore row there to see the full details of that restore execution:

FieldDescription
Execution IDThe unique identifier of this restore execution, with a copy button next to it.
Correlation IDAn identifier that links together all events belonging to this restore, with a copy button next to it.
Source RepositoryA link to the repository the backup was taken from.
Target RepositoryThe full name of the repository the backup is restored to.
Created At / Started At / Completed AtTimestamps for when the restore was created, started, and completed.
DurationThe total run time of the restore, shown once it is available.
Scope StatusesEach content type included in the restore, listed with its own status and message.
Failure ReasonFor failed or partially completed restores, a plain-language explanation of what went wrong.
tip

When contacting support about a restore, include the Execution ID and Correlation ID: use the copy buttons next to each value to grab them exactly.

Cancelling a Restore

You can cancel a restore that has not finished yet. For example, one that appears stuck or was started by mistake:

  1. Navigate to Activity in the sidebar.
  2. Expand the row of the restore you want to cancel.
  3. Click Cancel Execution. The button is only shown while the restore is Pending or In Progress.
  4. Confirm the action in the dialog that appears.

The restore stops and its status changes to Cancelled. Restores that have already completed or failed cannot be cancelled.

Starting a Restore

There are two ways to start a restore:

  1. From the Backups page: Click the restore button on any backup row.
  2. From a repository's Restore tab: Select a backup and start the wizard.

Both methods launch the Restore Wizard.