Pour migrer des référentiels de GitLab vers GitHub, vous avez besoin d’un accès suffisant à la source (un projet sur GitLab) et à la destination (une organisation sur GitHub). Une fois que vous avez effectué les étapes décrites dans cet article, votre accès et vos autorisations seront prêts pour votre migration.
Décider qui effectuera la migration
Si la personne qui effectue la migration n’est pas propriétaire de GitHub l’organisation, un propriétaire de GitHub l’organisation doit d’abord lui accorder le rôle de migration.
- Si vous êtes GitHub propriétaire de l’organisation et que vous envisagez d’effectuer la migration vous-même, vous pouvez continuer à lire ce guide.
- Si vous souhaitez attribuer le rôle de migration à quelqu’un d’autre, faites-le maintenant. Ensuite, le migrateur doit effectuer le reste des étapes de ces guides. Consultez « Octroi du rôle de migrateur ».
Créer un personal access token (classic) sur GitHub
Ensuite, vous devez créer un personal access token (classic) élément que GL2GH extension of the GitHub CLI utilisera pour communiquer avec 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âche | Propriétaire de l'organisation | Migrateur |
|---|---|---|
| Attribution du rôle de migrateur pour les migrations de dépôts | admin:org | |
| Exécution d’une migration de dépôts (organisation de destination) | ||
repo, , workflow``admin:org | ||
repo, , workflow``read:org | ||
| Téléchargement d’un journal de migration | ||
repo, , workflow``admin:org | ||
repo, , workflow``read:org | ||
| Récupération de mannequins | ||
repo, , workflow``admin:org |
Pour savoir comment créer le jeton, consultez Gestion de vos jetons d’accès personnels.
Créer un personal access token sur GitLab
Votre GitLab personal access token doit avoir les étendues et read_repository les api étendues.
Pour les instances GitLab auto-gérées, le jeton doit appartenir à un administrateur, afin que l’exportation soit terminée et que l’attribution de l’utilisateur soit conservée.
Pour savoir comment créer le jeton, consultez Personal access tokens la documentation GitLab.
Configurer des listes d’autorisation IP sur GitHub
Si vous utilisez la fonctionnalité de liste d’autorisation IP de GitHub, vous devez ajouter les plages d’adresses IP GitHub ci-dessous à la liste d’autorisation de l’organisation de destination. Consultez Gestion des adresses IP autorisées pour votre organisation ou Restriction du trafic réseau vers votre entreprise avec une liste d’adresses IP autorisées.
Si votre organisation de destination est activée GitHub.com, vous devez autoriser les adresses IP suivantes :
- 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)
Si votre organisation de destination est activée GHE.com, les plages que vous devez autoriser dépendent de votre région de résidence des données. Vous pouvez obtenir une liste up-to-date des plages d’adresses IP utilisées par GitHub Enterprise Importer le /meta point de terminaison de l’API REST. La clé github_enterprise_importer dans la réponse contient une liste de plages d’adresses IP utilisées pour les migrations.
Autoriser les migrations à contourner les ensembles de règles de dépôt
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 :
- Accédez à chaque ensemble de règles d’entreprise ou d’organisation.
- Dans la section « Liste de contournement », cliquez sur Ajouter un contournement.
- 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 ».
Activer les exportations sur GitLab
Les projets GitLab que vous souhaitez migrer doivent être activés pour les exportations. Consultez Activer l’exportation de projet et la configuration Sidekiq pour les importations dans la documentation GitLab.