Migrate from GitHub
Bring a repo — or your whole org — into tmppr Cloud with one command. Issues, comments, pull requests, and reviews come along. Dry-run first, resume if interrupted, roll back cleanly.
Create a GitHub token
Create a personal access token on GitHub with read access to the repos you're migrating, then export it (or pass it per command):
export GITHUB_TOKEN=ghp_...
Sign in to tmppr Cloud
tmppr cloud login --token <token>
tmppr cloud status
No account yet? Start on the pricing page.
Migrate a repository
tmppr migrate migrate-repo acme/widgets widgets --dry-run # rehearse first
tmppr migrate migrate-repo acme/widgets widgets
The first argument is the GitHub source
(owner/repo); the second is the target Cloud repo
name. The command prints a migration GUID — keep it, every
follow-up step uses it.
Watch the migration
tmppr migrate status <guid>
Imports are idempotent and resumable — re-running a migration picks up where it left off instead of duplicating data.
Reclaim mannequins
Authors and reviewers who don't have a tmppr account yet are imported as mannequins — placeholder users that hold their activity. Re-point each mannequin to a real user once they join:
tmppr migrate generate-mannequin-csv <guid> # list unmapped mannequins
tmppr migrate reclaim-mannequin <guid> <mannequin> <user>
By default this sends the user an invitation to accept the
attribution; admins can re-point immediately with
--skip-invitation.
Migrate a whole org
tmppr migrate migrate-org --github-org acme --prefix acme-
Migrates every repo of a GitHub org (or user) under one org
GUID. Supports --dry-run, and
--guid resumes an interrupted run — repos that
already succeeded are skipped.
Keep it in sync
tmppr migrate mirror --guid <guid>
A one-way delta sync that pulls new issues, comments, PRs, and other metadata from the GitHub source of a completed migration. Re-run it as often as you like while you transition. It syncs metadata only — not new git commits.
Changed your mind? tmppr migrate cleanup <guid>
deletes everything that migration imported.
What migrates — and what doesn't (yet)
| Data | Status |
|---|---|
| Issues and comments | Migrated |
| Pull requests, reviews, and review comments | Migrated |
| Labels | Preserved on issues — standalone label management coming |
| Milestones and releases | Archived, not yet imported |
| Git history and branches | Not yet — push your clone: git push --mirror <tmppr clone URL> |
| Wiki | Not yet |
| Branch protections | Not yet — re-create with merge rules |
Ongoing git-history sync via mirror | Not yet — mirror syncs metadata only |
| Actions secrets, runners, and artifacts | Not migrated — re-create them in tmppr |
| Git LFS objects | Not yet |
| Webhooks | Not migrated — re-add on the tmppr side |
| Packages and projects | Not migrated |
| Team membership | Not migrated — rebuild with tmppr team |