Skip to main content

Importation de référentiels par programmation

Vous pouvez importer par programmation des référentiels dans GitHub.

À propos de l’importation programmatique de référentiels

Dans le guide suivant, vous pouvez apprendre à exécuter programmatiquement des migrations « source and history » (source et historique) de dépôts Git vers GitHub. Différentes options sont disponibles en fonction de l’emplacement où le référentiel est stocké.

Pour en savoir plus sur la migration « source and history » (source et historique) et les autres types de migrations, consultez « Planification de votre migration vers GitHub ».

Le terme « source repository » (référentiel source) fait référence au référentiel que vous importez, et « imported repository » (référentiel importé) fait référence au nouveau référentiel que vous créez.

Utilisation des duplications

Si le référentiel source se trouve sur GitHub, vous pouvez utiliser une duplication au lieu d’importer le référentiel. Les fourches vous permettent d’apporter des modifications à un projet sans affecter le dépôt d’origine, également connu sous le nom de dépôt « amont ». Après avoir fourché un dépôt, vous pouvez récupérer (fetch) les mises à jour du dépôt amont pour garder votre fourche à jour, et vous pouvez proposer des modifications de votre fourche vers le dépôt amont avec des demandes de tirage. Pour plus d’informations, consultez « À propos des duplications (fork) ».

Vous pouvez dupliquer par programmation un référentiel à l’aide de l’API REST. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les fourches ».

Si votre cas d’utilisation répond à l’un des critères suivants, vous ne pouvez pas utiliser la duplication en remplacement de l’importation directe de votre référentiel.

  • Vous souhaitez que le référentiel importé soit détenu par le même utilisateur ou la même organisation que le référentiel source.
  • Vous souhaitez qu’un utilisateur ou une organisation puisse importer le même référentiel source plusieurs fois.

Utilisation des modèles de référentiel

Si le référentiel source se trouve sur GitHub, vous devriez être en mesure d’utiliser les modèles de référentiel. Vous pouvez créer un modèle à partir d’un référentiel existant. Toute personne ayant accès au référentiel modèle peut créer un référentiel basé sur le modèle avec la même structure d’annuaire, branches et fichiers. Pour plus d’informations, consultez « Création d’un modèle de dépôt ».

Pour utiliser des modèles de référentiel, vous devez avoir un accès en lecture à un référentiel existant qui est un modèle, ou vous devez avoir accès à la création d’un modèle.

Vous pouvez créer programmatiquement un dépôt à partir d’un modèle à l’aide de l’API REST. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les référentiels ».

Utilisation de GitHub Enterprise Importer

Si le référentiel source est hébergé sur GitHub, GitHub Enterprise Server, Azure DevOps Services, Bitbucket Server ou Bitbucket Data Center, vous pouvez importer le référentiel à l’aide de GitHub Enterprise Importer. Pour plus d’informations, consultez « À propos de GitHub Enterprise Importer ».

En plus de votre source et de votre historique de gestion de version, GitHub Enterprise Importer migre également les problèmes, les demandes de tirage, les paramètres, etc.

Pour utiliser GitHub Enterprise Importer, vous devez disposer d’un accès administrateur au référentiel source.

Vous pouvez importer programmatiquement des dépôts avec GitHub Enterprise Importer à l’aide de l’API GraphQL.

Utilisation de la CLI Git

Si le référentiel source est un référentiel Git, vous pouvez appeler la CLI Git par programmation à partir de votre code. Vous pouvez créer un référentiel par programmation à l’aide de l’API REST de GitHub, puis utiliser des commandes telles que git clone et git push pour importer le référentiel dans GitHub.

La façon dont vous appelez la Git CLI diffère selon le langage de votre code. Par exemple, vous pouvez utiliser le module child_process dans Node.js, ou module open3 dans Ruby. Pour plus d’informations, consultez processus enfant dans la documentation Node.js ou le référentiel ruby/open3 sur GitHub.

Pour utiliser la CLI Git, vous devez avoir accès à l’installation de Git sur le système qui héberge votre application. Pour plus d’informations, consultez Bien démarrer - Installation de Git dans la documentation Git.

Utilisation de GitHub CLI

Si le référentiel source est un référentiel Git, vous pouvez appeler la GitHub CLI par programmation à partir de votre code. Vous pouvez utiliser gh repo create pour créer un référentiel. Pour plus d’informations, consultez « À propos de GitHub CLI ».

Pour aller plus loin