-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the GitBack wiki.
GitBack is a backup utility for GitHub repositories and Gists. It discovers assets from GitHub, maintains local Git mirrors, and creates compressed snapshots for long-term storage.
The project is designed around a few simple principles:
- Standard Git mirrors
- Standard archive formats
- Transparent operation
- Easy recovery
- No database
- No daemon
- No proprietary formats
- Backup public and private GitHub repositories
- Backup GitHub Gists
- Concurrent repository synchronization
- Compressed snapshots (
tar + zstd) - SHA256 checksum generation and verification
- Structured JSON logging
- Health reporting
- Snapshot retention
- Automatic runtime recovery
GitBack follows a straightforward workflow:
GitHub
│
▼
Discover
│
▼
Sync Mirrors
│
▼
Create Snapshot
│
▼
Archive Storage
Retrieves repositories and Gists accessible to the configured GitHub account and stores an inventory locally.
Creates and updates local Git mirrors.
mirrors/
├── repositories/
└── gists/
Creates compressed archives containing backup data and state information.
snapshot.tar.zst
snapshot.tar.zst.sha256
Provides visibility into:
- Repository status
- Gist status
- Snapshot information
- Storage usage
- Backup recommendations
Initialize GitBack:
gitback initDiscover assets:
gitback discoverCreate local mirrors:
gitback syncCreate a snapshot:
gitback snapshotCheck backup health:
gitback health~/.local/share/gitback/
├── mirrors/
│ ├── repositories/
│ └── gists/
├── snapshots/
└── state/
GitBack stores backups using standard Git repositories and standard archive formats.
If GitBack is unavailable in the future, backups remain accessible using standard tools such as:
- git
- tar
- zstd
- sha256sum
No GitBack-specific tooling is required to access backup data.