About migration paths to GitHub
If you're moving between GitHub products, such as from GitHub Enterprise Server to GitHub Enterprise Cloud, or from another code hosting platform, such as Bitbucket Server or GitLab, to GitHub, you'll want to bring your work with you: your code, the code's history, and all of your past conversations and collaboration.
To plan for your migration, consider the destination and source. These considerations determine the path for your migration. For some migration paths, we offer specialist tools that allow you to migrate source, history, and metadata. For others, you'll need to perform a simpler "source and history" or "source snapshot" migration.
Some migration paths require tools that are only available with expert-led migrations. For more information, contact your account manager on GitHub's Sales team or see the GitHub Expert Services website.
In our recommendations, we'll assume that you want the highest level of fidelity if possible, which includes source, history, and metadata.
Migrations to GitHub.com
You can review the scope and tooling for your migration to GitHub.com, which includes migrations to GitHub Enterprise Cloud. You can also review any additional information or caveats.
- GitHub Enterprise Server 3.4.1 or newer to GitHub.com
- GitHub Enterprise Server 3.4.0 or older to GitHub.com
- GitHub.com to GitHub.com
- Azure DevOps Services (Azure DevOps Cloud) to GitHub.com
- Azure DevOps Server to GitHub.com
- Bitbucket Cloud (Bitbucket.org) to GitHub.com
- Bitbucket Server or Bitbucket Data Center to GitHub.com
- GitLab to GitHub.com
- Any Git repository to GitHub.com
- Any Mercurial repository to GitHub.com
- Any Subversion (SVN) repository to GitHub.com
- Any Team Foundation Version Control (TFVC) repository to GitHub.com
- Any Perforce repository to GitHub.com
- Any other repository to GitHub.com
GitHub Enterprise Server 3.4.1 or newer to GitHub.com
- Scope: Source, history, and metadata
- Tooling: GitHub Enterprise Importer
- More information:
- Caveats:
- For complex repositories larger than around 5 GB, you may need to use
ghe-migrator
and Enterprise Cloud Importer instead. Enterprise Cloud Importer is only available for expert-led migrations. - If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Migrations from any Git repository to GitHub.com."
- For complex repositories larger than around 5 GB, you may need to use
GitHub Enterprise Server 3.4.0 or older to GitHub.com
- Scope: Source, history, and metadata
- Tooling: GitHub Enterprise Importer
- More information:
- Caveats:
- For complex repositories larger than around 5 GB, you may need to use
ghe-migrator
and Enterprise Cloud Importer instead. Enterprise Cloud Importer is only available for expert-led migrations. - If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Migrations from any Git repository to GitHub.com."
- For complex repositories larger than around 5 GB, you may need to use
GitHub.com to GitHub.com
Migrations from GitHub.com include GitHub Enterprise Cloud. This path includes adoption of Enterprise Managed Users or a move between managed enterprises.
- Scope: Source, history, and metadata
- Tooling: GitHub Enterprise Importer or GitHub Expert Services
- More information:
- Caveats:
- For complex repositories larger than around 5 GB, you may need to use
ghe-migrator
and Enterprise Cloud Importer instead. Enterprise Cloud Importer is only available for expert-led migrations. - If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Migrations from any Git repository to GitHub.com."
- For complex repositories larger than around 5 GB, you may need to use
Azure DevOps Services (Azure DevOps Cloud) to GitHub.com
- Scope: Source, history, and metadata
- Tooling: GitHub Enterprise Importer
- More information: "Using GitHub Enterprise Importer"
Azure DevOps Server to GitHub.com
- Scope: Source, history, and metadata
- Tooling: Migration to Azure DevOps Services, then GitHub Enterprise Importer
- More information:
- Migrate data from Azure DevOps Server to Azure DevOps Services in the Microsoft Docs
- "Using GitHub Enterprise Importer"
- Caveats: If you can't migrate to Azure DevOps Services first, you must perform a "source and history" migration instead. For more information, "Migrations from any Git repository to GitHub.com."
Bitbucket Cloud (Bitbucket.org) to GitHub.com
- Scope: Source and history
- Tooling: Git CLI or GitHub Importer
- More information:
Bitbucket Server or Bitbucket Data Center to GitHub.com
- Scope: Source, history, and metadata
- Tooling: GitHub Enterprise Importer
- More information:
- Caveats:
- For complex repositories larger than around 5 GB, you may need to use
bbs-exporter
and Enterprise Cloud Importer instead. Enterprise Cloud Importer is only available for expert-led migrations. - If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Migrations from any Git repository to GitHub.com."
- For complex repositories larger than around 5 GB, you may need to use
GitLab to GitHub.com
- Scope: Source, history, and metadata
- Tooling:
gl-exporter
, then Enterprise Cloud Importer (expert-led migrations only) - More information: GitHub Expert Services website
- Caveats:
- Enterprise Cloud Importer is only available for expert-led migrations.
- If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Migrations from any Git repository to GitHub.com."
Any Git repository to GitHub.com
- Scope: Source and history
- Tooling: Git CLI or GitHub Importer if the repository is accessible over the public internet
- More information:
Any Mercurial repository to GitHub.com
- Scope: Source and history
- Tooling: Mercurial, Git CLI, and Python
- More information: "Importing a Mercurial repository"
Any Subversion (SVN) repository to GitHub.com
- Scope: Source and history
- Tooling: Subversion and Git CLI
- More information: "Importing a Subversion repository"
Any Team Foundation Version Control (TFVC) repository to GitHub.com
- Scope: Source and history
- Tooling: Azure Repos, then Git CLI
- More information: "Importing a Team Foundation Version Control repository"
Any Perforce repository to GitHub.com
- Scope: Source and history
- Tooling:
git-p4
, then Git CLI - More information:
- git-p4 in the Git documentation
- "Adding locally hosted code to GitHub"
Any other repository to GitHub.com
- Scope: Source snapshot
- Tooling: GitHub CLI or Git CLI
- More information: "Adding locally hosted code to GitHub"
Migrations to GitHub Enterprise Server
You can review the scope and tooling for your migration to GitHub Enterprise Server, including any additional information or caveats.
- GitHub.com to GitHub Enterprise Server
- GitHub Enterprise Server to GitHub Enterprise Server
- Azure DevOps to GitHub Enterprise Server
- Bitbucket Cloud (Bitbucket.org) to GitHub Enterprise Server
- Bitbucket Server or Bitbucket Data Center to GitHub Enterprise Server
- GitLab to GitHub Enterprise Server
- Any Git repository to GitHub Enterprise Server
- Any Mercurial repository to GitHub Enterprise Server
- Any Subversion (SVN) repository to GitHub Enterprise Server
- Any Team Foundation Version Control (TFVC) repository to GitHub Enterprise Server
- Any Perforce repository to GitHub Enterprise Server
- Any other repository to GitHub Enterprise Server
GitHub.com to GitHub Enterprise Server
Migrations from GitHub.com include GitHub Enterprise Cloud.
- Scope: Source, history, and metadata
- Tooling: Organization migrations API, then
ghe-migrator
- More information:
GitHub Enterprise Server to GitHub Enterprise Server
- Scope: Source, history, and metadata
- Tooling: Organization migrations API, then
ghe-migrator
- More information:
Azure DevOps to GitHub Enterprise Server
- Scope: Source and history
- Tooling: Git CLI
- More information: "Importing an external Git repository using the command line"
Bitbucket Cloud (Bitbucket.org) to GitHub Enterprise Server
- Scope: Source and history
- Tooling: Git CLI
- More information: "Importing an external Git repository using the command line"
Bitbucket Server or Bitbucket Data Center to GitHub Enterprise Server
- Scope: Source, history, and metadata
- Tooling:
bbs-exporter
(expert-led migrations only), thenghe-migrator
- More information:
- Caveats: If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Any Git repository to GitHub Enterprise Server."
GitLab to GitHub Enterprise Server
- Scope: Source, history, and metadata
- Tooling:
gl-exporter
(expert-led migrations only), thenghe-migrator
- More information:
- Caveats: If an expert-led migration isn't right for you, you can perform a "source and history" migration of the affected repositories instead. For more information, see "Any Git repository to GitHub Enterprise Server."
Any Git repository to GitHub Enterprise Server
- Scope: Source and history
- Tooling: Git CLI
- More information: "Importing an external Git repository using the command line"
Any Mercurial repository to GitHub Enterprise Server
- Scope: Source and history
- Tooling: Mercurial, Git CLI, and Python
- More information: "Importing a Mercurial repository"
Any Subversion (SVN) repository to GitHub Enterprise Server
- Scope: Source and history
- Tooling: Subversion and Git CLI
- More information: "Importing a Subversion repository"
Any Team Foundation Version Control (TFVC) repository to GitHub Enterprise Server
- Scope: Source and history
- Tooling: Azure Repos, then Git CLI
- More information: "Importing a Team Foundation Version Control repository"
Any Perforce repository to GitHub Enterprise Server
- Scope: Source and history
- Tooling:
git-p4
, then Git CLI - More information:
- git-p4 in the Git documentation
- "Adding locally hosted code to GitHub"
Any other repository to GitHub Enterprise Server
- Scope: Source snapshot
- Tooling: GitHub CLI or Git CLI
- More information: "Adding locally hosted code to GitHub"