This version of GitHub Enterprise will be discontinued on This version of GitHub Enterprise was discontinued on 2020-05-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Article version: Enterprise Server 2.17

About migrations

A migration is the process of transferring data from a source location (either a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance. Migrations can be used to transfer your data when changing platforms or upgrading hardware on your instance.

In this article

Types of migrations

There are three types of migrations you can perform:

  • A migration from a GitHub Enterprise Server instance to another GitHub Enterprise Server instance. You can migrate any number of repositories owned by any user or organization on the instance. Before performing a migration, you must have site administrator access to both instances.
  • A migration from a GitHub.com organization to a GitHub Enterprise Server instance. You can migrate any number of repositories owned by the organization. Before performing a migration, you must have administrative access to the GitHub.com organization as well as site administrator access to the target instance.
  • Trial runs are migrations that import data to a staging instance. These can be useful to see what would happen if a migration were applied to your GitHub Enterprise Server instance. We strongly recommend that you perform a trial run on a staging instance before importing data to your production instance.

Migrated data

In a migration, everything revolves around a repository. Most data associated with a repository can be migrated. For example, a repository within an organization will migrate the repository and the organization, as well as any users, teams, issues, and pull requests associated with the repository.

The items in the table below can be migrated with a repository. Any items not shown in the list of migrated data can not be migrated.

Note: Fork relationships do not persist after a migration.

Data associated with a migrated repositoryNotes
Users@mentions of users are rewritten to match the target.
OrganizationsAn organization's name and details are migrated.
RepositoriesLinks to Git trees, blobs, commits, and lines are rewritten to match the target. The migrator follows a maximum of three repository redirects.
WikisAll wiki data is migrated.
Teams@mentions of teams are rewritten to match the target.
MilestonesTimestamps are preserved.
Project boardsProject boards associated with the repository and with the organization that owns the repository are migrated.
IssuesIssue references and timestamps are preserved.
Issue commentsCross-references to comments are rewritten for the target instance.
Pull requestsCross-references to pull requests are rewritten to match the target. Timestamps are preserved.
Pull request reviewsPull request reviews and associated data are migrated.
Pull request review commentsCross-references to comments are rewritten for the target instance. Timestamps are preserved.
Commit commentsCross-references to comments are rewritten for the target instance. Timestamps are preserved.
ReleasesAll releases data is migrated.
Actions taken on pull requests or issuesAll modifications to pull requests or issues, such as assigning users, renaming titles, and modifying labels are preserved, along with timestamps for each action.
File attachmentsFile attachments on issues and pull requests are migrated. You can choose to disable this as part of the migration.
WebhooksOnly active webhooks are migrated.
Repository deploy keysRepository deploy keys are migrated.
Protected branchesProtected branch settings and associated data are migrated.

Ask a human

Can't find what you're looking for?

Contact us