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.