Tech Hub

@ Solution Architecture Works

Dans cette unité, nous passons en revue les composants suivants du GitHub Flow :

  • Branches
  • Commits
  • Pull Requests
  • Le GitHub Flow

🌿 Qu’est-ce qu’une branche ?

Dans la section précédente, nous avons créé un nouveau fichier et une nouvelle branche dans votre dépôt.

Les branches sont essentielles dans GitHub car elles permettent de faire des modifications sans impacter le projet principal.
C’est un espace sécurisé pour expérimenter de nouvelles fonctionnalités ou corriger des bugs.
En cas d’erreur, vous pouvez annuler ou corriger vos changements.
Les modifications ne sont appliquées à la branche principale qu’après une fusion (merge).

💡 Astuce

Vous pouvez aussi créer et basculer vers une nouvelle branche via le terminal avec la commande :
git checkout -b nomNouvelleBranche

📝 Qu’est-ce qu’un commit ?

Dans l’unité précédente, vous avez ajouté un fichier au dépôt en poussant un commit.

Un commit est une modification apportée à un ou plusieurs fichiers sur une branche.
Chaque commit reçoit un identifiant unique, est horodaté, et attribué à un contributeur.
Les commits permettent de suivre l’historique des fichiers et de fournir une traçabilité claire pour les révisions, les issues ou les pull requests.

📁 États des fichiers dans un dépôt Git

Dans un dépôt Git, un fichier peut passer par plusieurs états valides au cours du processus de gestion de version. Les deux états principaux sont :

  • Non suivi (Untracked) :
    État initial d’un fichier qui n’est pas encore pris en compte par Git. Git ignore son existence.
  • Suivi (Tracked) :
    Fichier que Git surveille activement. Il peut être dans l’un des sous-états suivants :
    • Non modifié (Unmodified) : Le fichier n’a pas été modifié depuis le dernier commit.
    • Modifié (Modified) : Le fichier a été changé, mais les modifications ne sont pas encore prêtes pour le commit.
    • Préparé (Staged) : Les modifications ont été ajoutées à la zone de préparation (index) et sont prêtes à être validées.
    • Validé (Committed) : Le fichier est enregistré dans la base de données du dépôt, représentant la dernière version validée.

Ces états sont essentiels pour collaborer efficacement en équipe et suivre l’évolution de chaque commit dans le projet.

🔄 Qu’est-ce qu’une pull request ?

Une 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 pull request demande à un ou plusieurs relecteurs de vérifier le code et d’approuver la fusion.
Ces relecteurs peuvent commenter les modifications, proposer des ajustements ou utiliser la pull request pour discuter davantage.

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

Maintenant que nous connaissons tous les éléments, passons en revue le GitHub Flow.

Le GitHub Flow peut être défini comme un flux de travail léger qui permet une expérimentation en toute sécurité.

Vous pouvez tester de nouvelles idées et collaborer avec votre équipe en utilisant les branches, les pull requests et les fusions.

Maintenant que nous connaissons les bases de GitHub, parcourons les étapes du GitHub Flow :

  1. Créez une branche pour que les modifications, fonctionnalités ou corrections n’affectent pas la branche principale.
  2. Faites vos modifications. Il est recommandé de déployer les changements sur la branche de fonctionnalité avant de fusionner dans la branche principale, afin de valider leur bon fonctionnement en production.
  3. Créez une pull request pour demander des retours à vos collaborateurs. Certaines équipes exigent une validation avant de permettre la fusion.
  4. Analysez et appliquez les retours de vos collaborateurs.
  5. Une fois satisfait des modifications, faites approuver la pull request et fusionnez-la dans la branche principale.
  6. Enfin, supprimez votre branche pour indiquer que le travail est terminé et éviter toute utilisation accidentelle.

🎉 Et voilà, vous avez complété un cycle du GitHub Flow !

Share this Doc

Composants du GitHub Flow

Or copy link

CONTENTS