This article covers what Rewind Backups for GitHub backs up and what can be restored. Rewind backs up your complete Git repositories along with repository metadata, branch protection rules, and rulesets. Restores create a new repository or a new, disabled ruleset — Rewind never overwrites your existing data.
What Rewind backs up
Rewind Backups for GitHub captures the complete Git repository, including all branches, plus the GitHub metadata associated with the repository and your organization:
|
|
What can be restored
Rewind restores GitHub data at the repository level. When you restore, Rewind creates a new repository from the backup snapshot you choose — your existing repositories are never overwritten. Organization rulesets restore separately as new, disabled rulesets.
| Item | Backed up | Restored |
|---|---|---|
| Git repository | ||
|
Git repository refs, branches, commits, tags, objects, logs |
✓ | ✓ |
|
Git LFS files enabled on request |
On request | ✓ |
| Repository metadata | ||
|
Commit comments comment text, creation date, creator, open/closed status |
✓ | ✓ |
| Releases | ✓ | ✓ |
| Labels | ✓ | ✓ |
|
Milestones open/closed status, description, due date, associated issues |
✓ | ✓ |
|
Issues description, creation date, creator, open/closed status, comments (without reactions), assignee, assigned labels, assigned milestones |
✓ | ✓ |
|
Pull requests description, creation date, creator, open/closed status, review comments (without reactions), assignee, assigned labels, assigned milestones |
✓ | Restored as issues |
| Wikis | ✓ | Manual restore |
| File and image attachments | URL only | URL only |
| Protection rules and rulesets | ||
| Branch protection rules | ✓ | ✓ |
| Repository rulesets | ✓ | ✓ |
| Organization rulesets | Paid GitHub plans | ✓ |
How restores work
Restoring a repository
When you initiate a restore:
- You choose a specific backup snapshot (date and time) from the Rewind dashboard.
- Rewind creates a new GitHub repository containing the restored data.
- Your existing repositories are never overwritten.
The restored repository includes the full Git history and the supported repository data captured at the time of the backup.
To keep each restore uniquely named, Rewind appends a timestamp to the original repository name:
<original-repo-name>-rewind-YYYY-MM-DD-HH-MM-SS-msec
The timestamp includes hours, minutes, seconds, and milliseconds to prevent naming collisions when you perform multiple restores in quick succession.
Restoring a wiki
Wikis can't be restored automatically due to GitHub API limitations. Instead, you restore the wiki content yourself using the wiki files included in your backup:
- Export your backup by following the steps within How To: Vault Export.
- In the export, locate the
.tgzfile in the wiki folder. - Extract the
.tgzfile on your local machine. - In a terminal, navigate to the extracted folder and push the content to your new repository's wiki:
git push --mirror https://github.com/<username>/<repo-name>.wiki.git
Restoring an organization ruleset
When you restore an organization ruleset, Rewind creates a new ruleset in your organization and leaves the existing one untouched. The new ruleset arrives disabled, named after the original with a Rewind timestamp appended — the same naming pattern as a restored repository, for example org-branch-protection-rewind-2026-08-05-14-32-07-118.
An organization ruleset is an access control: it governs what everyone in your organization can and can't do across repositories. Writing a backed-up copy directly over a live ruleset would change those rules the moment the restore job ran, before anyone had a chance to look at the result. This would leave a gap where your repositories would be unprotected for a window in the middle of a recovery. Creating a separate, disabled copy avoids the gap.
To finish the recovery: open the restored ruleset, check that it reads the way you expect, set its enforcement to Active, and then disable or delete the ruleset it replaces.
Two things to check on the restored copy:
-
Bypass actors that no longer exist are left out.
If a ruleset granted a bypass to a team, app, or repository role that has since been deleted or uninstalled, GitHub can't accept it and Rewind leaves that entry out rather than failing the restore. Everything else comes back as recorded. Re-add any bypass you still need. -
Rulesets scoped to specific repositories.
A restore creates new repositories rather than reviving the originals, so a ruleset that targeted particular repositories comes back pointing at the repositories recorded in the backup. If none of those repositories still exist in the organization, the restored ruleset comes back with a repository scope that matches nothing, so you can re-point it at the repositories you want without it taking effect somewhere unintended.
If your organization is already at GitHub's limit for the number of rulesets it can have, the restore reports an error rather than skipping quietly. Free up a slot and run it again. If you're stuck, contact help@rewind.com.
Limitations
-
Pull requests are restored as issues
Pull requests are included in every backup, but the GitHub API doesn't allow them to be recreated as pull requests, so Rewind restores them as issues. -
File and image attachments
When you include an image or another attachment, such as a ZIP file, GitHub uploads the file to its CDN and references it by URL in the issue or comment. Rewind backs up the attachment URL, but the file itself is fetched from GitHub's CDN. -
Organization rulesets need a paid GitHub plan
Organization-level rulesets are a paid GitHub feature. If your organization is on a plan that doesn't include them, GitHub returns no organization rulesets and they're skipped without affecting the rest of your backup.
FAQ
How often does a backup run?
Backups run automatically once per day. You can also run an on-demand backup at any time using Backup Now.
How long are backups retained?
Backups are retained for 365 days. You can access any snapshot from that period through your Rewind account, including for export.
Can I change backup frequency?
Yes. Backups run once per day by default, but you can adjust this frequency schedule using Backup Policies. See Configuring Backup Policies for GitHub repositories. You can also run an on-demand backup at any time by using the Backup Now option within Rewind.
Do I need storage for the backup files?
No. Rewind Backups for GitHub includes unlimited cloud storage. You can access any backup version from your Rewind account by opening versions and choosing a date from the calendar view.
Does Rewind back up Git LFS (Large File Storage) files?
Yes, Rewind can back up Git LFS files associated with your repositories.
Git LFS backups aren't enabled by default. If your repositories use Git LFS and you want those files included in your backups, contact Rewind Support to have Git LFS backups enabled on your account.
Once enabled, Git LFS files are backed up and restored as part of the repository-level restore process.
Need help?
If you have questions or need assistance, contact help@rewind.com or submit a request.