Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Contribution aux projets

Découvrez comment contribuer à un projet par le biais de la duplication.

À propos de la duplication (fork)

Si vous souhaitez contribuer au projet d’une autre personne, mais que vous n’avez pas accès en écriture au référentiel, vous pouvez utiliser un workflow « duplication (fork) et demande de tirage (pull request) ».

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.

Vous pouvez contribuer en soumettant des demandes de tirage à partir de votre duplication au référentiel en amont. Pour plus d’informations, consultez « Dupliquer (fork) un dépôt ».

Duplication (fork) d’un dépôt

Ce tutoriel utilise le projet Spoon-Knife, un dépôt de test hébergé sur GitHub.com qui vous permet de tester le workflow de duplication (fork) et de demande de tirage (pull request).

  1. Accédez au projet Spoon-Knife à l’adresse https://github.com/octocat/Spoon-Knife.
  2. Cliquez sur Dupliquer (fork) . 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. Page Créer une duplication avec le champ 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 ».

Clonage d’une duplication (fork)

Vous avez correctement dupliqué (fork) le dépôt Spoon-Knife, mais jusqu’à présent, il existe uniquement sur GitHub. Pour pouvoir travailler sur le projet, vous avez besoin de le cloner sur votre ordinateur.

Vous pouvez cloner votre duplication (fork) avec la ligne de commande, GitHub CLI ou GitHub Desktop.

  1. Sur GitHub, accédez à votre duplication (fork) 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 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.
    > remove: 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

Création d’une branche sur laquelle travailler

Avant d’apporter des modifications au projet, vous devez créer une nouvelle branche et l’extraire. En conservant les modifications apportées à sa propre branche, vous suivez GitHub Flow et vous garantissez qu’il sera plus facile de contribuer à nouveau au même projet dans le futur. Pour plus d’informations, consultez « GitHub Flow ».

git branch BRANCH-NAME
git checkout BRANCH-NAME
git branch BRANCH-NAME
git checkout BRANCH-NAME

Pour plus d’informations sur la création et la gestion des branches dans GitHub Desktop, consultez « Gestion des branches ».

Apporter et pousser (push) des modifications

Poursuivez en apportant quelques modifications au projet à l’aide de votre éditeur de texte favori, comme Visual Studio Code. Vous pouvez, par exemple, modifier le texte dans index.html pour ajouter votre nom d’utilisateur GitHub.

Quand vous êtes prêt à soumettre vos modifications, indexez-les et commitez-les. git add . indique à Git que vous voulez inclure toutes vos modifications dans le commit suivant. git commit prend un instantané de ces modifications.

git add .
git commit -m "a short description of the change"
git add .
git commit -m "a short description of the change"

Pour plus d’informations sur la manière d’indexer et commiter des modifications dans GitHub Desktop, consultez « Commit et revue des changements apportés à votre projet ».

Quand vous indexez et commitez des fichiers, vous indiquez grosso modo à Git de prendre un instantané de vos modifications. Vous pouvez continuer à apporter d’autres modifications et prendre d’autres instantanés de commit.

Pour le moment, vos modifications existent uniquement en local. Quand vous êtes prêt à pousser (push) vos modifications vers GitHub, poussez-les vers le dépôt distant.

git push
git push

Pour plus d’informations sur la façon de pousser (push) des modifications dans GitHub Desktop, consultez « Pousser (push) des modifications vers GitHub ».

Déroulement d’une demande de tirage

Enfin, vous voilà prêt à proposer des modifications dans le projet principal ! Il s’agit de la dernière étape de la production d’une duplication (fork) du projet d’une autre personne, et sans doute la plus importante. Si vous avez apporté une modification qui, à votre avis, pourrait être bénéfique pour l’ensemble de la communauté, envisagez sérieusement d’apporter votre contribution.

Pour cela, accédez au dépôt GitHub où réside votre projet. Dans cet exemple, il s’agit de https://github.com/<your_username>/Spoon-Knife. Vous allez voir une bannière indiquant que votre branche a un commit d’avance sur octocat:main. Cliquez sur Contribuer, puis Ouvrir une demande de tirage.

GitHub vous fait accéder à une page qui indique les différences entre votre duplication (fork) et le dépôt octocat/Spoon-Knife. Cliquez sur Create pull request (Créer une demande de tirage).

GitHub vous fait accéder à une page dans laquelle vous pouvez entrer le titre et la description de vos modifications. Il est important de fournir autant d’informations utiles que possible, ainsi que la raison pour laquelle vous effectuez cette demande de tirage de prime abord. Le propriétaire du projet a besoin d’être en mesure de déterminer si votre modification s’avère aussi utile pour tout le monde que vous le pensez. Enfin, cliquez sur Créer une demande de tirage.

Gestion des commentaires

Les demandes de tirage sont un lieu de discussion. Dans cet exemple, Octocat est très occupé et ne va probablement pas fusionner vos modifications. Pour d’autres projets, n’en prenez pas ombrage si le propriétaire du projet rejette votre demande de tirage ou demande plus d’informations sur la raison pour laquelle vous l’avez effectuée. Il peut même s’avérer que le propriétaire du projet choisisse de ne pas fusionner votre demande de tirage, et c’est totalement acceptable. Vos modifications existent dans votre duplication. Et qui sait ? Peut-être que quelqu’un que vous n’avez jamais rencontré trouvera vos modifications beaucoup plus précieuses que le projet d’origine.

Recherche de projets

Vous avez correctement dupliqué (fork) et contribué à un dépôt. Lancez-vous et contribuez encore ! Pour plus d’informations, consultez « Trouver des moyens de contribuer à l’open source sur GitHub ».