Users should never be locked into an instance. A migrate feature moves an account between gitbay instances:
Export (on the source, self-service): an account bundle — profile (description/website), email addresses, repo list with settings (visibility, protected branches, require-signed/checks, descriptions), org memberships, issues and MRs (with comments/reviews) for owned repos. Git data needs no export format: it is already portable by clone. Keys are NOT exported — the user re-registers keys on the target; emails arrive unverified and re-verify there (trust is per-instance, by design).
Import (on the target): gitbay migrate --from old-instance.example — authenticates to the source with the user's own key, pulls the bundle over the source's API/ssh, recreates repos via the existing repo import machinery pointed at the source, then replays metadata. Resumable per repo like the GitHub importer.
Related: #17 (issue import shapes the metadata replay), #18 (mirroring covers the transition window). The bundle format doubles as a user-level backup.
closed by commit ee64c2c79b: Add account migration between gitbay instances
2026-08-24 21:49