Composants du flux GitHub

Effectué

Dans cette unité, nous examinons les composants suivants du flux GitHub :

  • Branches
  • Commits
  • Demandes de tirage
  • Flux GitHub

Qu’est-ce qu’une branche ?

Dans la dernière section, nous avons créé un fichier et une nouvelle branche dans vos référentiels.

Les branches sont un élément essentiel de l’expérience GitHub, car c’est dans les branches que nous pouvons apporter des modifications sans affecter l’ensemble du projet sur lequel nous travaillons.

Votre branche est un endroit sûr où expérimenter de nouvelles fonctionnalités ou correctifs. Si vous faites une erreur, vous pouvez revenir sur vos modifications ou pousser (push) davantage de modifications afin de la corriger. Vos modifications ne seront pas mises à jour sur la branche par défaut tant que vous ne fusionnerez pas votre branche.

Remarque

Vous pouvez également créer une nouvelle branche et la vérifier en utilisant git dans un terminal. La commande serait git checkout -b newBranchName

Qu’est-ce qu’un commit ?

Dans l’unité précédente, vous avez ajouté un nouveau fichier dans le référentiel en envoyant une validation. Examinons brièvement ce qu’est un commit.

Un commit est un changement apporté à un ou plusieurs fichiers d’une branche. Chaque fois qu’une validation est créée, elle reçoit un ID unique, et est suivie avec l’heure et le contributeur. Les commits fournissent une piste d’audit claire pour toute personne qui examine l’historique d’un fichier ou d’un élément lié, comme un problème ou une demande de tirage.

Capture d’écran de la liste de validations GitHub vers une branche principale.

Dans un dépôt Git, un fichier peut exister dans plusieurs états valides durant le processus de gestion de version. Les états principaux d’un fichier dans un dépôt Git sont Non suivi et Suivi.

Non suivi : État initial d’un fichier lorsqu’il ne fait pas encore partie du dépôt Git. Git n’a pas connaissance de son existence.

Suivi : Un fichier suivi est un fichier que Git surveille activement. Il peut se trouver dans l’un des sous-états suivants :

  • Non modifié : Le fichier est suivi, mais il n’a pas été modifié depuis le dernier commit.
  • Modifié : Le fichier a été modifié depuis le dernier commit, mais ces modifications ne sont pas encore indexées pour le commit suivant.
  • Indexé : Le fichier a été modifié et les modifications ont été ajoutées à la zone intermédiaire (également appelée index). Ces modifications sont prêtes à être commitées.
  • Engagé : Le fichier se trouve dans la base de données du dépôt. Il s’agit de la dernière version commitée du fichier.

Ces états et sous-états sont importants dans le cadre de la collaboration avec votre équipe, afin de savoir où chaque commit se trouve dans le processus de votre projet. Passons maintenant aux demandes de tirage.

Qu’est-ce que les demandes de tirage ?

Une demande de tirage (pull request) est le mécanisme utilisé pour signaler que les commits d’une branche sont prêts à être fusionnés dans une autre branche.

Le membre de l’équipe qui soumet la demande de tirage demande à un ou plusieurs réviseurs de vérifier le code et d’approuver la fusion. Ces réviseurs ont la possibilité de commenter les changements, d’ajouter leurs propres changements ou d’utiliser la demande de tirage elle-même pour obtenir plus d’informations.

Une fois les modifications approuvées (si nécessaire), la branche source (branche de comparaison) de la demande de tirage est fusionnée avec la branche de base.

Capture d’écran d’une demande de tirage et d’un commentaire dans la demande de tirage.

Maintenant que nous connaissons tous les ingrédients, examinons le flux GitHub.

Flux GitHub

Capture d’écran montrant une représentation visuelle du flux GitHub dans un format linéaire qui inclut une nouvelle branche, des validations, une demande de tirage et la fusion des modifications apportées à l’ordre principal.

Le flux GitHub peut être défini comme un flux de travail léger qui permet une expérimentation sécurisée. Vous pouvez tester de nouvelles idées et la collaboration avec votre équipe au moyen du branchement, des demandes de tirage et de la fusion.

Maintenant que nous connaissons les bases de GitHub, nous pouvons parcourir le flux GitHub et ses composants.

  1. Commencez par créer une branche afin que les modifications, fonctionnalités et correctifs que vous créez n’affectent pas la branche principale.
  2. Ensuite, apportez vos modifications. Nous vous recommandons de déployer des modifications dans votre branche de fonctionnalité avant de fusionner avec la branche principale. Cela garantit la validité des modifications dans un environnement de production.
  3. Maintenant, créez une demande de tirage afin de demander des commentaires aux collaborateurs. 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.
  4. Ensuite, passez en revue et implémentez vos commentaires de vos collaborateurs.
  5. Une fois que vous êtes satisfait(e) de vos changements, il est temps de faire approuver votre demande de tirage et de la fusionner avec la branche principale.
  6. Enfin, vous pouvez supprimer votre branche. La suppression de votre branche indique que votre travail sur la branche est terminé, et empêche d’autres personnes ou vous-même d’utiliser accidentellement d’anciennes branches.

Voilà, vous avez parcouru tout le cycle de flux GitHub !

Passons maintenant à la section suivante, où nous aborderons les différences entre les problèmes et les discussions.