Contribuer à un projet sur GitHub est une compétence essentielle pour les développeurs et les collaborateurs qui collaborent pour atteindre des objectifs communs. Que vous corrigiez des bogues, ajoutiez des fonctionnalités ou amélioriez la documentation, le processus de contribution garantit une collaboration structurée et efficace.
En suivant le flux GitHub de duplication (fork) des rĂ©fĂ©rentiels, de crĂ©ation de branches et de soumission de demandes de tirage, vous pouvez proposer des modifications Ă un projet et obtenir des commentaires sans perturber le travail dâautres personnes.
Ce guide fournit des instructions sur la contribution Ă un projet Ă lâaide de lâinterface utilisateur GitHub et de la ligne de commande. Pour plus dâinformations sur la contribution avec GitHub Desktop, consultez Clonage et duplication (fork) de dĂ©pĂŽts Ă partir de GitHub Desktop. Pour en savoir plus sur la contribution avec GitHub CLI (interface en ligne de commande), consultez Guide de dĂ©marrage rapide sur lâinterface CLI de GitHub.
Ă 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é.
Remarque
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.
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 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.
-
Sur GitHub, naviguez vers votre fork du référentiel Spoon-Knife.
-
Au-dessus de la liste des fichiers, cliquez sur Code.
-
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 lâGitHub CLI, cliquez sur GitHub CLI et sur .
-
-
Sur Mac ou Linux, ouvrez Terminal. Sur Windows, ouvrez Git Bash.
-
Remplacez le rĂ©pertoire de travail actuel par lâemplacement oĂč vous voulez mettre le rĂ©pertoire clonĂ©.
-
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 deYOUR-USERNAME
:git clone https://github.com/YOUR-USERNAME/Spoon-Knife
-
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.
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
La crĂ©ation dâune demande de tirage est la derniĂšre Ă©tape dans la production dâune duplication (fork) du projet dâune autre personne. Lorsque vous avez apportĂ© une modification utile et que vous souhaitez la proposer au rĂ©fĂ©rentiel dâorigine, vous crĂ©ez une demande de tirage pour quâun responsable puisse la passer en revue.
Pour ce faire, accĂ©dez au rĂ©fĂ©rentiel sur 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.
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.