Skip to main content

GitHub flow

Suivez le flux GitHub pour collaborer sur des projets.

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 sur la crĂ©ation d’un compte, consultez CrĂ©ation d’un compte sur GitHub. Pour plus d’informations sur la crĂ©ation d’un rĂ©fĂ©rentiel, consultez Guide de dĂ©marrage rapide pour les dĂ©pĂŽts. Pour plus d’informations sur la façon de trouver un rĂ©fĂ©rentiel existant auquel contribuer, consultez Trouver des moyens de contribuer Ă  l’open source sur GitHub.

Suivi du flux GitHub

Tip

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 toutes 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 commitant et en poussant (push) vos modifications, 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, commiter et pousser (push) des modifications dans votre branche jusqu’à ce que vous soyez prĂȘt Ă  demander des commentaires.

Tip

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 tirage

CrĂ©ez une demande de tirage (pull request) pour demander aux collaborateurs d’émettre des commentaires sur vos modifications. La rĂ©vision des demandes de tirage est si prĂ©cieuse que certains dĂ©pĂŽts exigent une rĂ©vision d’approbation avant de pouvoir fusionner des demandes de tirage. 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 demande de tirage ».

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 crĂ©ez un lien avec un mot clĂ©, le problĂšme se ferme automatiquement quand la demande de tirage est fusionnĂ©e. Pour plus d’informations, consultez « Syntaxe de base pour l’écriture et la mise en forme » 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 est peut-ĂȘtre configurĂ© pour demander automatiquement une rĂ©vision Ă  des Ă©quipes ou utilisateurs spĂ©cifiques quand une demande de tirage est crĂ©Ă©e. Vous pouvez aussi mentionner (@mention) ou demander manuellement 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 ».

Traiter 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 « Revue des modifications apportĂ©es dans les demandes de tirage ».

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 demande de tirage 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 la demande de tirage pour aider les futurs collaborateurs Ă  comprendre vos modifications. Pour plus d’informations, consultez « Fusion d’une demande de tirage ».

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 ».

Des paramĂštres de protection des branches peuvent bloquer une fusion si votre demande de tirage ne satisfait pas Ă  certaines exigences. Par exemple, vous avez besoin d’un certain nombre de rĂ©visions d’approbation ou de la rĂ©vision 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 demande de tirage, supprimez votre branche. Cette suppression indique que le travail sur la branche est terminĂ© et vous empĂȘche, ainsi que d’autres personnes, d’utiliser accidentellement d’anciennes branches. Pour plus d’informations, consultez « Suppression et restauration de branches dans une demande de tirage ».

Ne craignez pas de perdre des informations. L’historique de vos demandes de tirage et de vos commits n’est pas supprimĂ©. Vous pouvez toujours restaurer votre branche supprimĂ©e ou revenir sur votre demande de tirage, si nĂ©cessaire.