À propos de la duplication (fork)
Si vous souhaitez contribuer au projet de quelqu'un d'autre mais que vous n'avez pas l'autorisation d'y apporter des modifications directement, vous pouvez créer votre propre copie du projet, y apporter des mises à jour, puis suggérer que ces mises à jour soient incluses dans le projet principal. Ce processus est souvent appelé flux de travail « demande de duplication et demande de tirage ».
Lorsque vous créez votre propre copie (ou « duplication ») d'un projet, cela revient à créer un nouvel espace de travail qui partage le code avec le projet d'origine. Cette fonction est utile pour les projets à code source ouvert ou lorsque vous n'avez pas accès en écriture au projet original.
Une fois que vous avez effectué vos modifications dans votre copie, vous pouvez les soumettre en tant que demande d'extraction, ce qui est une façon de proposer des modifications au projet principal. Pour plus d’informations, consultez « Dupliquer (fork) un référentiel ».
Création de votre propre copie d’un projet
Ce tutoriel utilise le projet Spoon-Knife, un dépôt de test hébergé sur GitHub qui vous permet de tester le workflow de duplication (fork) et de demande de tirage (pull request).
-
Accédez au projet
Spoon-Knife
à l’adresse https://github.com/octocat/Spoon-Knife. -
Dans le coin supérieur droit de la page, cliquez sur Dupliquer.
-
Sous « Propriétaire », sélectionnez le menu déroulant et cliquez sur un propriétaire pour le dépôt dupliqué.
Note
Si votre nom d’utilisateur est grisé, c’est parce que le fork existe déjà. Au lieu de cela, vous devez mettre à jour votre fork existant. Pour plus d’informations, consultez « Synchronisation d’une duplication ».
-
Par défaut, les duplications ont le même nom que leurs référentiels en amont. Si vous le souhaitez, pour mieux distinguer votre duplication, dans le champ « Nom du dépôt », tapez un nom.
-
Dans le champ « Description », vous pouvez taper la description de votre duplication.
-
Si vous le souhaitez, sélectionnez Copier la branche PAR DÉFAUT uniquement.
Dans de nombreux scénarios de duplication, tels que la contribution à des projets open source, vous devez uniquement copier la branche par défaut. Si vous ne sélectionnez pas cette option, toutes les branches sont copiées dans la nouvelle duplication.
-
Cliquez sur Créer une duplication.
Note
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 référentiel ».
Clonage d'une duplication (fork) sur votre ordinateur
Vous avez réussi à forker le référentiel Spoon-Knife, mais pour l'instant, il n'existe que 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.
Note
Pour plus d’informations 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
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 dans leur propre branche, vous suivez le flux GitHub et vous vous assurez qu'il sera plus facile de contribuer à nouveau au même projet à l'avenir. Consultez GitHub flow.
git branch BRANCH-NAME
git checkout BRANCH-NAME
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 index.html
pour ajouter votre GitHub nom d'utilisateur.
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"
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. Lorsque vous êtes prêt à pousser vos changements vers GitHub, poussez vos changements vers le serveur distant.
git push
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 ce faire, rendez-vous sur le référentiel GitHub où se trouve 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 amènera à une page qui montre les différences entre votre fork et le référentiel octocat/Spoon-Knife
. Cliquez sur ** Créer une demande de tirage**.
GitHub vous amènera à une page où vous pourrez saisir un titre et une 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. Ne vous sentez pas vexé si le propriétaire du projet rejette votre demande de tirage ou s’il demande plus d’informations sur la raison pour laquelle vous l’avez effectuée. Même si le propriétaire du projet choisit de ne pas fusionner votre demande de tirage, vos modifications existent toujours dans votre duplication. Il se peut que quelqu’un d’autre trouve votre duplication beaucoup plus utile 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.
Se familiariser avec un projet
Si vous êtes nouveau dans un projet, vous pouvez utiliser Copilot pour vous aider à comprendre l'objectif du référentiel, à examiner les fichiers et à vous plonger dans des lignes de code spécifiques. Consultez Utiliser GitHub Copilot pour explorer les projets.