hiteshchoudhary/gitbackup
hiteshchoudhary/gitbackupIt was personal script but now it is a complete desktop application to take backup of your github account
From the README
GitBackup
A desktop application to back up all your GitHub repositories locally and optionally to cloud storage (AWS S3 / Cloudflare R2).
Features
- One-click GitHub backup — Enter your Personal Access Token and back up all repositories with full code and branches
- Smart incremental updates — First run clones everything; subsequent runs only fetch changes
- Flexible repo selection — Filter by owned, organization, starred, forked, or collaborator repositories
- Cloud storage support — Upload compressed
.tar.gzarchives to AWS S3 or Cloudflare R2 - Scheduled backups — Set daily, weekly, or monthly automatic backups with system tray support
- Rate limit aware — Handles GitHub API pagination and rate limits for accounts with 200-300+ repos
- Concurrent processing — Configurable parallelism (1-10 repos at a time) for faster backups
- Real-time progress — Detailed per-repo status tracking with live log viewer
- Secure — Token stored encrypted locally, cleaned from git remote URLs after operations
Screenshots
Setup
Configure your GitHub token, backup folder, and optional cloud storage with a guided setup flow.
Repositories
Browse and select repositories with filters for owned, org, starred, forked, and collaborator repos.
Backup
Monitor real-time progress with per-repo status, progress bars, and a detailed log viewer.
Download
Download the latest version for your platform from the Releases page.
| Platform | File | Notes |
|----------|------|-------|
| macOS | GitBackup-x.x.x.dmg | Open the .dmg and drag GitBackup to Applications. On first launch, right-click → Open to bypass Gatekeeper. |
| Windows | GitBackup-Setup-x.x.x.exe | Run the installer. Windows Defender may show a warning — click "More info" → "Run anyway". |
| Linux | GitBackup-x.x.x.AppImage | Make it executable: chmod +x GitBackup-*.AppImage then run it. |
Prerequisite: Git must be installed on your system. GitBackup uses it to clone and update repositories.
Creating a GitHub Token
You'll need a Personal Access Token to connect your account:
- Go to github.com/settings/tokens
- Click Personal access tokens → Tokens (classic)
- Click Generate new token (classic)
- Select scopes:
repo(full access) andread:org(for org repos) - Click Generate token and paste it into the app
Fine-grained tokens also work — grant Repository access → All repositories.
Building from Source
Prerequisites
Installation
git clone
cd gitbackup
npm install
Development
npm run dev
This starts the Vite dev server with hot reload and launches the Electron app.
Build & Package
# Build for current platform
npm run package
# Platform-specific builds
npm run package:mac
npm run package:win
npm run package:linux
Packaged apps are output to the `release