SOFTWARE / SYSTEMS / AIEngineering news. Technical depth.
NEWS / Developer tools · 2 MIN READ

GitHub Enterprise Importer adds self-service GitLab migrations

The gh gl2gh extension now supports single and bulk moves from GitLab.com and maintained self-managed versions into GitHub Enterprise Cloud.

Announcement: · From GitHub

GitHub made self-service migrations from GitLab generally available in GitHub Enterprise Importer on August 3. The gh gl2gh command-line extension can move individual repositories or drive scripted bulk migrations from GitLab.com and currently maintained GitLab Self-Managed releases. The announcement targets organizations on GitHub Enterprise Cloud at github.com or ghe.com.

Archive staging has several paths

Migration archives can use GitHub-owned blob storage, an organization’s Amazon S3 bucket, or Azure Blob Storage. GitHub-owned storage reduces the need to configure temporary cloud credentials, while customer-managed storage may fit existing controls and locality requirements. GitHub explicitly says this capability does not migrate into GitHub Enterprise Server.

General availability describes the supported service, not automatic equivalence between platforms. Repository code is only one part of a move; identities, groups, protected branches, merge-request history, issues, CI variables, package registries, webhooks, and deployment integrations need a mapped destination or an accepted exception.

Prove the mapping before bulk execution

Select pilot repositories that represent the difficult cases: large Git histories, Git LFS, many merge requests, unusual visibility, and active automation. Record source counts and permissions, run the migration, then compare destination objects and clone the result from a clean account. Validate author attribution and links as well as raw counts.

For bulk runs, keep a manifest tying each source URL to its destination, migration command, result, and reviewer. Freeze or reconcile writes during the final transition and update integrations only after acceptance. Treat storage credentials as short-lived and delete staged archives according to the chosen provider’s retention plan. A command-line path enables repeatability, but the migration is complete only when teams can build, review, release, and audit the moved repository.

SOURCES & CONTEXT

See the original announcement for availability and release details.