{"meta":{"title":"Importation de référentiels par programmation","intro":"Vous pouvez importer des référentiels par programmation vers GitHub.","product":"Migrations","breadcrumbs":[{"href":"/fr/migrations","title":"Migrations"},{"href":"/fr/migrations/overview","title":"Vue d’ensemble"},{"href":"/fr/migrations/overview/programmatically-importing-repositories","title":"Importations programmatiques de référentiels"}],"documentType":"article"},"body":"# Importation de référentiels par programmation\n\nVous pouvez importer des référentiels par programmation vers GitHub.\n\n## À propos de l’importation programmatique de référentiels\n\nDans le guide suivant, vous pouvez apprendre à exécuter par programmation des migrations « 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é.\n\nPour en savoir plus sur « origine et historique » et les autres types de migrations, consultez [Planification de votre migration vers GitHub](/fr/migrations/overview/planning-your-migration-to-github).\n\nLe 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.\n\n## Utilisation des forks\n\nSi le référentiel source se trouve sur GitHub, vous pourrez peut-être utiliser un fork 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 ».\n\nAprès avoir forké un référentiel, vous pouvez :\n\n* Récupérer les mises à jour du référentiel en amont pour maintenir votre fork à jour\n* Contribuer au projet d'origine en créant des pull requests à partir de votre fork. Pour plus d'informations, consultez [Fourchettes](/fr/pull-requests/reference/forks).\n\nVous 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 forks](/fr/rest/repos/forks) ».\n\nSi 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.\n\n* 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.\n* Vous souhaitez qu’un utilisateur ou une organisation puisse importer le même référentiel source plusieurs fois.\n\n## Utilisation des modèles de référentiel\n\nSi le référentiel source est activé GitHub, vous pouvez utiliser des modèles de référentiel.\nVous 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](/fr/repositories/creating-and-managing-repositories/creating-a-template-repository).\n\nPour 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.\n\nVous 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](/fr/rest/repos/repos) ».\n\n## Utilisation de GitHub Enterprise Importer\n\nSi le référentiel source est hébergé sur GitHub, GitHub Enterprise ServerAzure DevOps Services, Bitbucket Server ou Bitbucket Data Center, vous pouvez importer le référentiel à l’aide GitHub Enterprise Importerde . Pour plus d’informations, consultez « [À propos de GitHub Enterprise Importer](/fr/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer) ».\n\nEn plus de votre historique du code source et de la gestion de versions, GitHub Enterprise Importer migre également les problèmes, les pull requests, les paramètres et bien plus encore.\n\nPour l’utiliser GitHub Enterprise Importer, vous devez disposer d’un accès administrateur au référentiel source.\n\nVous pouvez importer des dépôts de manière programmatique avec GitHub Enterprise Importer l’API GraphQL.\n\n## Utilisation de la CLI Git\n\nSi 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 GitHubde l’API REST, puis utiliser des commandes telles `git clone` que et `git push` pour importer le référentiel dans GitHub.\n\nLa 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](https://nodejs.org/api/child_process.html) dans la documentation Node.js ou le [dépôt ruby/open3](https://github.com/ruby/open3) sur GitHub.\n\nPour 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](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) dans la documentation Git.\n\n## Utilisation de GitHub CLI\n\nSi le référentiel source est un référentiel Git, vous pouvez appeler le GitHub CLI fichier 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 l’interface CLI GitHub](/fr/github-cli/github-cli/about-github-cli) ».\n\n## Lectures complémentaires\n\n* [Points de terminaison d’API REST pour les référentiels](/fr/rest/repos/repos)"}