Skip to main content

Manage access for a migration from GitLab to GitHub

Set up the required access for migrating from GitLab to GitHub.

To migrate repositories from GitLab to GitHub, you need sufficient access to the source (a project on GitLab) and the destination (an organization on GitHub). After you complete the steps in this article, your access and permissions will be ready for your migration.

Decide who will perform the migration

If the person who will perform the migration is not a GitHub organization owner, a GitHub organization owner must first grant them the migrator role.

  • If you're a GitHub organization owner, and intend to perform the migration yourself, you can continue reading this guide.
  • If you wish to assign the migrator role to someone else, do that now. Then, the migrator should perform the rest of the steps in these guides. See Granting the migrator role.

Create a personal access token (classic) on GitHub

Next, you will need to create a personal access token (classic) which the GL2GH extension of the GitHub CLI will use to communicate with GitHub. Les étendues requises pour votre GitHubpersonal access token (classic) rôle dépendent de votre rôle et de la tâche que vous souhaitez effectuer.

Remarque

Vous pouvez uniquement utiliser un personal access token (classic), pas un fine-grained personal access token. Cela signifie que vous ne pouvez pas utiliser GitHub Enterprise Importer si votre organisation utilise la stratégie « Restreindre personal access tokens (classic) l’accès à vos organisations ». Pour plus d’informations, consultez « Application de stratégies pour les jetons d’accès personnels dans votre entreprise ».

TâchePropriétaire de l'organisationMigrateur
Attribution du rôle de migrateur pour les migrations de dépôtsadmin:org
Exécution d’une migration de dépôts (organisation de destination)
repo, admin:org, workflow
repo, read:org, workflow
Téléchargement d’un journal de migration
repo, admin:org, workflow
repo, read:org, workflow
Récupération de mannequins
repo, admin:org, workflow

To learn how to create the token, see Gestion de vos jetons d’accès personnels.

Create a personal access token on GitLab

Your GitLab personal access token must have the api and read_repository scopes.

For self-managed GitLab instances, the token must belong to an administrator, so that the export is complete and user attribution is preserved.

To learn how to create the token, see Personal access tokens in the GitLab documentation.

Configure IP allow lists on GitHub

If you use GitHub's IP allow list feature, you must add the GitHub IP ranges below to the allow list for the destination organization. See Gestion des adresses IP autorisées pour votre organisation or Restriction du trafic réseau vers votre entreprise avec une liste d’adresses IP autorisées.

If your destination organization is on GitHub.com, you will need to allow the following IP addresses:

  • 192.30.252.0/22
  • 185.199.108.0/22
  • 140.82.112.0/20
  • 143.55.64.0/20
  • 135.234.59.224/28 (ajouté le 28 juillet 2025)
  • 2a0a:a440::/29
  • 2606:50c0::/32
  • 20.99.172.64/28 (ajouté le 28 juillet 2025)

If your destination organization is on GHE.com, the ranges you need to allow depend on your data residency region. You can get an up-to-date list of IP ranges used by GitHub Enterprise Importer with the /meta endpoint of the REST API. The github_enterprise_importer key in the response contains a list of IP ranges used for migrations.

Allow migrations to bypass repository rulesets

Si l’organisation de destination ou l’entreprise a des ensembles de règles activés, l’historique du référentiel migré peut violer ces règles. Pour autoriser la migration sans désactiver vos ensembles de règles, ajoutez « Migrations de référentiels » à la liste de contournement pour chaque ensemble de règles applicable. Ce contournement s’applique uniquement pendant la migration. Une fois terminés, les ensembles de règles seront appliqués à toutes les nouvelles contributions.

Pour configurer le contournement :

  1. Accédez à chaque ensemble de règles d’entreprise ou d’organisation.
  2. Dans la section « Liste de contournement », cliquez sur Ajouter un contournement.
  3. Sélectionnez Migrations de référentiels.

Pour plus d’informations, consultez « Création d'ensembles de règles pour les dépôts de votre organisation » et « Définition des contournements de ruleset pour les migrations de dépôts ».

Enable exports on GitLab

The GitLab projects you want to migrate must be enabled for exports. See Enable project export and Sidekiq configuration for imports in the GitLab documentation.