Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Fork a repo

Une duplication est un nouveau référentiel qui partage le code et les paramètres de visibilité avec le référentiel « en amont » d’origine.

Qui peut utiliser cette fonctionnalité

Les membres d’une enterprise with managed users ne peuvent pas dupliquer les référentiels provenant de l’extérieur de l’entreprise ni dupliquer des référentiels internes.

À propos des duplications (fork)

Une duplication est un nouveau référentiel qui partage le code et les paramètres de visibilité avec le référentiel « en amont » d’origine. Les duplications sont souvent utilisées pour itérer sur les idées ou les modifications avant qu’elles ne soient proposées à nouveau au référentiel en amont, par exemple dans des projets open source ou lorsqu’un utilisateur n’a pas d’accès en écriture au référentiel en amont. Pour plus d’informations, consultez « Utilisation des duplications ».

Proposer des modifications à apporter au projet d’une autre personne

Par exemple, vous pouvez utiliser des duplications pour proposer des modifications liées à la correction d’un bogue. Au lieu de journaliser un problème pour un bogue que vous avez trouvé, vous pouvez :

  • Dupliquez (fork) le dépôt.
  • Appliquer le correctif.
  • Soumettre une demande de tirage au propriétaire du projet.

Utiliser le projet d’une autre personne comme point de départ de votre propre idée.

Les logiciels open source reposent sur l’idée que le partage de leur code nous permet de les améliorer et de les rendre plus fiables. Pour plus d’informations, consultez « À propos de l’initiative open source » sur le site Open Source Initiative.

Pour plus d’informations sur l’application des principes open source au travail de développement de votre organisation sur GitHub.com, consultez le livre blanc de GitHub intitulé « An introduction to innersource ».

Quand vous créez votre dépôt public à partir d’une duplication du projet d’une autre personne, veillez à inclure un fichier de licence qui détermine la façon dont vous souhaitez que votre projet soit partagé avec d’autres personnes. Pour plus d’informations, consultez la page « Choose an open source license » du site choosealicense.com.

Pour plus d’informations sur l’open source, plus précisément sur la manière de créer et de faire évoluer un projet open source, nous avons créé des Guides Open Source qui vous aideront à promouvoir une communauté open source saine en recommandant des meilleures pratiques pour la création et la gestion des dépôts pour votre projet open source. Vous pouvez également suivre un cours gratuit GitHub Skills sur la maintenance des communautés open source.

Prérequis

Si vous ne l’avez pas encore fait, configurez d’abord Git et l’authentification avec GitHub.com à partir de Git. Pour plus d’informations, consultez « Configurer Git ».

Duplication d’un dépôt

Vous pouvez dupliquer un projet pour proposer des modifications au référentiel en amont. Dans ce cas, une bonne pratique consiste à synchroniser régulièrement votre duplication avec le dépôt en amont. Pour cela, vous avez besoin d’utiliser Git sur la ligne de commande. Vous pouvez vous entraîner à définir le dépôt en amont à l’aide du même dépôt octocat/Spoon-Knife que vous venez de dupliquer (fork).

  1. Sur GitHub.com, accédez au dépôt octocat/Spoon-Knife.
  2. Dans le coin supérieur droit de la page, cliquez sur Dupliquer. Bouton Dupliquer
  3. Sélectionnez un propriétaire pour le dépôt dupliqué. PCréer unePévidence
  4. Par défaut, les duplications ont le même nom que leurs référentiels en amont. Vous pouvez changer le nom de la duplication pour mieux la différencier. Page Créer une duplication avec le champ Nom du dépôt mis en évidence
  5. Ajoutez éventuellement une description pour votre duplication. Créer une page de duplication avec le champ de description mis en évidence
  6. Choisissez entre copier uniquement la branche par défaut ou toutes les branches dans la nouvelle duplication. Dans de nombreux scénarios de duplication, tels que la contribution à des projets open source, vous devez uniquement copier la branche par défaut. Par défaut, seule la branche par défaut est copiée. Option permettant de copier uniquement la branche par défaut
  7. Cliquez sur Créer une duplication. Bouton Créer une duplication mis en évidence

Remarque : si vous souhaitez copier des branches supplémentaires à partir du référentiel en amont, vous pouvez le faire depuis la page Branches. Pour plus d’informations, consultez « Création et suppression de branches dans votre dépôt ».

Pour en savoir plus sur GitHub CLI, consultez « À propos de GitHub CLI ».

Pour créer une duplication d’un dépôt, utilisez la sous-commande gh repo fork.

gh repo fork REPOSITORY

Pour créer la duplication dans une organisation, utilisez l’indicateur --org.

gh repo fork REPOSITORY --org "octo-org"

Clonage de votre dépôt dupliqué

Pour l’instant, vous disposez d’une duplication du dépôt Spoon-Knife, mais les fichiers inclus dans ce dépôt ne sont pas localement sur votre ordinateur.

  1. Sur GitHub.com, accédez à votre duplication du dépôt Spoon-Knife.

  2. Au-dessus de la liste des fichiers, cliquez sur Code. Bouton Code

  3. Copiez l’URL du dépôt.

    • Pour cloner le dépôt avec le protocole HTTPS, sous « HTTPS », cliquez sur .
    • Pour cloner le dépôt avec une clé SSH, en incluant un certificat émis par l’autorité de certification SSH de votre organisation, cliquez sur SSH et sur .
    • Pour cloner un dépôt avec GitHub CLI, cliquez sur GitHub CLI et sur . Icône du Presse-papiers pour copier l’URL et cloner un dépôt avec GitHub CLI 1. Ouvrez TerminalTerminalGit Bash. 4. Remplacez le répertoire de travail actuel par l’emplacement où vous voulez mettre le répertoire cloné.
  4. Tapez git clone, puis collez l’URL que vous avez copiée précédemment. Voici ce à quoi cela ressemble, avec votre nom d’utilisateur GitHub Enterprise Cloud au lieu de YOUR-USERNAME :

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
  5. Appuyez sur Entrée. Votre clone local va être créé.

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remote: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

Pour en savoir plus sur GitHub CLI, consultez « À propos de GitHub CLI ».

Pour créer un clone de votre duplication, utilisez l’indicateur --clone.

gh repo fork REPOSITORY --clone=true
  1. Dans le menu Fichier, cliquez sur Cloner le dépôt.

    Option de menu Cloner dans l’application Mac

    Option de menu Cloner dans l’application Windows

    1. Cliquez sur l’onglet qui correspond à l’emplacement du dépôt à cloner. Vous pouvez aussi cliquer sur l’**URL** pour entrer manuellement l’emplacement du dépôt.

    Onglets Emplacement dans le menu Cloner un dépôt

    Onglets Emplacement dans le menu Cloner un dépôt

    1. Choisissez le dépôt que vous souhaitez cloner dans la liste.

    Cloner une liste de dépôts

    Cloner une liste de dépôts

    1. Cliquez sur **Choisir...** et accédez à un chemin local dans lequel vous souhaitez cloner le dépôt.

    Bouton Choisir

    Bouton Choisir

    1. Cliquez sur **Cloner**.

    Bouton Cloner

    Bouton Cloner

Configuration de Git pour synchroniser votre duplication avec le référentiel en amont

Quand vous dupliquez un projet pour proposer des modifications du référentiel en amont, vous pouvez configurer Git pour tirer (pull) des modifications depuis le référentiel en amont vers le clone local de votre duplication.

  1. Sur GitHub.com, accédez au dépôt octocat/Spoon-Knife.

  2. Au-dessus de la liste des fichiers, cliquez sur Code. Bouton Code

  3. Copiez l’URL du dépôt.

    • Pour cloner le dépôt avec le protocole HTTPS, sous « HTTPS », cliquez sur .
    • Pour cloner le dépôt avec une clé SSH, en incluant un certificat émis par l’autorité de certification SSH de votre organisation, cliquez sur SSH et sur .
    • Pour cloner un dépôt avec GitHub CLI, cliquez sur GitHub CLI et sur . Icône du Presse-papiers pour copier l’URL et cloner un dépôt avec GitHub CLI 1. Ouvrez TerminalTerminalGit Bash.
  4. Changez de répertoire pour accéder à l’emplacement de la duplication que vous avez clonée.

    • Pour accéder à votre répertoire de base, tapez simplement cd sans aucun autre texte.
    • Pour lister les fichiers et dossiers inclus dans votre répertoire actuel, tapez ls.
    • Pour accéder à l’un de vos répertoires listés, tapez cd your_listed_directory.
    • Pour monter d’un répertoire, tapez cd ...
  5. Tapez git remote -v, puis appuyez sur Entrée. Vous allez voir le dépôt distant actuellement configuré pour votre duplication.

    $ git remote -v
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  6. Tapez git remote add upstream, collez l’URL que vous avez copiée à l’étape 3, puis appuyez sur Entrée. Voici le résultat :

    $ git remote add upstream https://github.com/ORIGINAL_OWNER/Spoon-Knife.git
  7. Pour vérifier le nouveau dépôt en amont que vous avez spécifié pour votre duplication, retapez git remote -v. Vous devriez voir l’URL de votre duplication indiquée en tant que origin et l’URL du référentiel en amont indiquée en tant que upstream.

    $ git remote -v
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

À présent, vous pouvez garder votre duplication synchronisée avec le dépôt en amont à l’aide de quelques commandes Git. Pour plus d’informations, consultez « Synchronisation d’une duplication ».

Pour en savoir plus sur GitHub CLI, consultez « À propos de GitHub CLI ».

Pour configurer un dépôt distant pour le dépôt dupliqué, utilisez l’indicateur --remote.

gh repo fork REPOSITORY --remote=true

Pour spécifier le nom du dépôt distant, utilisez l’indicateur --remote-name.

gh repo fork REPOSITORY --remote-name "main-remote-repo"

Modification d’une duplication

Vous pouvez apporter des modifications à une duplication, notamment :

  • Créer des branches : Les branches vous permettent de générer de nouvelles fonctionnalités ou de tester des idées sans faire courir le moindre risque à votre projet principal (main).
  • Ouvrir des demandes de tirage : si vous espérez contribuer à nouveau au référentiel en amont, vous pouvez demander à l’auteur original de tirer votre duplication dans son référentiel en lui envoyant une demande de tirage.

Rechercher un autre dépôt à dupliquer

Dupliquez un dépôt pour commencer à contribuer à un projet. Vous pouvez dupliquer (fork) un référentiel privé ou interne vers votre compte personnel ou une organisation sur GitHub.com où vous disposez d’autorisations de création de référentiels, si les paramètres du référentiel et vos stratégies d’entreprise autorisent la duplication.

Vous pouvez parcourir la page Explorer pour trouver des projets et commencer à apporter votre contribution à des dépôts open source. Pour plus d’informations, consultez « Trouver des moyens de contribuer à l’open source sur GitHub ».

Étapes suivantes

Vous avez maintenant dupliqué un dépôt, vous vous êtes entraîné à cloner votre duplication et vous avez configuré un dépôt en amont.

  • Pour plus d’informations sur le clonage de la duplication et la synchronisation des modifications dans un dépôt dupliqué à partir de votre ordinateur, consultez « Configurer Git ».

  • Vous pouvez également créer un dépôt dans lequel vous pouvez placer tous vos projets et partager le code sur GitHub. La création d’un référentiel pour votre projet vous permet de stocker du code dans GitHub. Cela fournit une sauvegarde de votre travail que vous pouvez choisir de partager avec d’autres développeurs. Pour plus d’informations, consultez « Créer un dépôt »."

  • Chaque dépôt sur GitHub appartient à une personne ou à une organisation. Vous pouvez interagir avec les personnes, les dépôts et les organisations en les connectant et en les suivant sur GitHub Enterprise Cloud. Pour plus d’informations, consultez « Prendre part au réseau social ».

  • GitHub dispose d’une vaste communauté de support dans laquelle vous pouvez demander de l’aide et parler avec des personnes du monde entier. Participez à la conversation dans GitHub Community.