Skip to main content

flux de GitHub

Suivez le flux GitHub pour collaborer sur des projets.

Dans cet article

Introduction

Le flux GitHub est un workflow lĂ©ger basĂ© sur des branches. Le flux GitHub s’avĂšre utiles pour tout le monde, pas seulement pour les dĂ©veloppeurs. Par exemple, ici chez GitHub, nous utilisons le flux GitHub pour notre stratĂ©gie de site, notre documentation et notre feuille de route.

Prérequis

Pour suivre le flux GitHub, vous aurez besoin d’un compte GitHub et d’un dĂ©pĂŽt. Pour plus d’informations, contactez l’administrateur de votre site. Pour plus d’informations sur la crĂ©ation d’un rĂ©fĂ©rentiel, consultez Guide de dĂ©marrage rapide pour les dĂ©pĂŽts.

Suivi du flux GitHub

Conseil

Vous pouvez effectuer toutes les Ă©tapes du flux GitHub par le biais de l’interface web GitHub, de la ligne de commande et de GitHub CLI ou GitHub Desktop. Pour plus d’informations sur les outils que vous pouvez utiliser pour vous connecter Ă  GitHub, consultez Connexion Ă  GitHub.

Créer une branche

CrĂ©ez une branche dans votre dĂ©pĂŽt. Un nom de branche court et descriptif permet Ă  vos collaborateurs de voir le travail en cours d’un seul coup d’Ɠil. Par exemple, increase-test-timeout ou add-code-of-conduct. Pour plus d’informations, consultez « CrĂ©ation et suppression de branches dans votre rĂ©fĂ©rentiel Â».

En créant une branche, vous créez un espace dans lequel travailler sans affecter la branche par défaut. De plus, vous donnez à vos collaborateurs la possibilité de passer en revue votre travail.

Apporter des modifications

Dans votre branche, apportez les modifications souhaitĂ©es au dĂ©pĂŽt. Pour plus d’informations, consultez CrĂ©ation de fichiers, Modification de fichiers, Changement de nom d’un fichier, DĂ©placement d'un fichier vers un nouvel emplacement ou Suppression de fichiers dans un dĂ©pĂŽt.

Votre branche constitue un endroit sĂ»r pour apporter des modifications. Si vous faites une erreur, vous pouvez revenir sur vos modifications ou pousser (push) d’autres modifications afin de la corriger. Vos modifications ne terminent pas dans la branche par dĂ©faut tant que vous ne fusionnez pas votre branche.

Commitez et poussez (push) vos modifications vers votre branche. Attribuez Ă  chaque commit un message descriptif pour vous aider, ainsi que les futurs contributeurs, Ă  comprendre les modifications que contient le commit. Par exemple, fix typo ou increase rate limit.

Dans l’idĂ©al, chaque commit contient une modification isolĂ©e et complĂšte. Cela permet de revenir facilement Ă  la derniĂšre version de vos modifications si vous dĂ©cidez d’adopter une approche diffĂ©rente. Par exemple, si vous voulez renommer une variable et ajouter des tests, placez le renommage de la variable dans un commit et les tests dans un autre commit. Plus tard, si vous voulez conserver les tests, mais revenir sur le renommage de la variable, vous pouvez revenir sur le commit spĂ©cifique qui contenait le renommage de la variable. Si vous placez le renommage de la variable et les tests dans le mĂȘme commit ou que vous propagez le renommage de la variable dans plusieurs commits, il vous faudra dĂ©ployer plus d’efforts pour revenir sur vos modifications.

En faisant un commit et en poussant vos changements, vous sauvegardez votre travail sur un stockage distant. Cela signifie que vous pouvez accĂ©der Ă  votre travail Ă  partir de n’importe quel appareil. Cela signifie Ă©galement que vos collaborateurs peuvent voir votre travail, rĂ©pondre Ă  des questions et apporter leurs suggestions ou contributions.

Continuez Ă  apporter, commettre et pousser des modifications dans votre branche jusqu’à ce que vous soyez prĂȘt Ă  solliciter des retours.

Conseil

CrĂ©ez une branche distincte pour chaque ensemble de modifications non liĂ©es. Cela permet aux rĂ©viseurs d’émettre plus facilement leurs commentaires. Cela vous permet Ă©galement, ainsi qu’à vos futurs collaborateurs, de mieux comprendre les modifications, de revenir dessus plus facilement ou de s’en inspirer. De plus, en cas de retard dans un ensemble de modifications, vos autres modifications, quant Ă  elles, ne subissent pas de retard.

Créer une demande de pull

CrĂ©er une pull request pour demander aux collaborateurs de donner leur avis sur vos modifications. La rĂ©vision des pull requests est si prĂ©cieuse que certains dĂ©pĂŽts exigent une rĂ©vision favorable avant la fusion des pull requests. Si vous voulez obtenir des commentaires ou conseils prĂ©coces avant de finaliser vos modifications, vous pouvez marquer votre demande de tirage en tant que brouillon. Pour plus d’informations, consultez « CrĂ©ation d’une pull request Â».

Quand vous crĂ©ez une demande de tirage, incluez un rĂ©sumĂ© des modifications et du problĂšme qu’elles rĂ©solvent. Vous pouvez inclure des images, des liens et des tableaux pour faciliter la transmission de ces informations. Si votre demande de tirage traite un problĂšme, liez ce problĂšme de sorte que ses parties prenantes aient connaissance de la demande de tirage et vice versa. Si vous liez avec un mot clĂ©, le problĂšme se ferme automatiquement lorsque la pull request fusionne. Pour plus d’informations, consultez « Syntaxe d’écriture et de mise en forme de base Â» et « Relier une demande de tirage Ă  un problĂšme Â».

En plus de remplir le corps de la demande de tirage, vous pouvez ajouter des commentaires à des lignes spécifiques de la demande de tirage pour indiquer explicitement quelque chose aux réviseurs.

Votre dĂ©pĂŽt peut ĂȘtre configurĂ© pour demander automatiquement une rĂ©vision Ă  des Ă©quipes ou utilisateurs spĂ©cifiques lorsqu'une pull request est créée. Vous pouvez Ă©galement effectuer manuellement @mention ou demander une rĂ©vision Ă  des personnes ou Ă©quipes spĂ©cifiques.

Si votre dĂ©pĂŽt comporte des vĂ©rifications configurĂ©es pour s’exĂ©cuter lors des demandes de tirage, celles qui Ă©chouent figurent dans votre demande de tirage. Cela vous aide Ă  intercepter les erreurs avant de fusionner votre branche. Pour plus d’informations, consultez « Ă€ propos des vĂ©rifications d’état Â».

Aborder les commentaires de révision

Les rĂ©viseurs doivent laisser des questions, des commentaires et des suggestions. Les rĂ©viseurs peuvent commenter l'ensemble de la demande de retrait ou ajouter des commentaires Ă  des lignes ou des fichiers spĂ©cifiques. Les rĂ©viseurs et vous-mĂȘme pouvez insĂ©rer des images ou des suggestions de code pour clarifier les commentaires. Pour plus d’informations, consultez « RĂ©vision des modifications dans les pull requests Â».

Vous pouvez continuer à commiter et pousser (push) des modifications en réponse aux révisions. Votre demande de tirage se met automatiquement à jour.

Fusionner votre demande de tirage

Une fois votre pull request approuvĂ©e, fusionnez-la. Votre branche est alors automatiquement fusionnĂ©e de sorte que vos modifications apparaissent dans la branche par dĂ©faut. GitHub conserve l’historique des commentaires et des commits dans le pull request pour aider les futurs contributeurs Ă  comprendre vos modifications. Pour plus d’informations, consultez « Fusion d'une pull request Â».

GitHub vous indique si votre demande de tirage comporte des conflits Ă  rĂ©soudre avant la fusion. Pour plus d’informations, consultez « Traitement des conflits de fusion Â».

Les paramĂštres de protection des branches peuvent bloquer une fusion si votre pull request ne respecte pas certaines exigences. Par exemple, vous avez besoin d’un certain nombre de revues d'approbation ou de la revue d’approbation d’une Ă©quipe spĂ©cifique. Pour plus d’informations, consultez « Ă€ propos des branches protĂ©gĂ©es Â».

Supprimer votre branche

AprĂšs avoir fusionnĂ© votre pull request, supprimez votre branche. Cela indique que le travail sur la branche est terminĂ© et empĂȘche vous et d'autres d'utiliser accidentellement d'anciennes branches. Pour plus d’informations, consultez « Suppression et restauration de branches dans un pull request Â».

Ne craignez pas de perdre des informations. L’historique de vos pull requests et de vos commits ne sera pas supprimĂ©. Vous pouvez toujours restaurer votre branche supprimĂ©e ou annuler votre pull request, si nĂ©cessaire.