Améliorer la Collaboration en Équipe : Comment Git a Transformé le Projet de ZGenius et ses Amis
Table of contents
- ZGenius et ses amis découvrent Git pour travailler en équipe
- La rencontre avec Tshaba et la découverte de Git
- L’organisation avec Git et GitHub
- Qu'est-ce que Git ?
- Installation de Git
- Configurer Git
- Créer un Dépôt Git : La Première Étape
- Ajouter des Fichiers au Staging Area
- Enregistrer les Modifications : Le Commit
- Travailler en Équipe : Les Branches
- Collaborer avec GitHub
- Récupérer les Modifications d’un Collègue
- Gérer les Conflits
- Les Pull Requests dans GitHub
- Pourquoi Utiliser les Pull Requests ?
- Comment Fonctionnent les Pull Requests ?
- Cycle d'une Pull Request
- Les Options de Fusion
- Avantages des Pull Requests pour ZGenius et son Équipe
- Exemple pour ZGenius
- Conclusion
- Conclusion
ZGenius et ses amis découvrent Git pour travailler en équipe
ZGenius et ses amis de la faculté étaient passionnés par la programmation. Un beau jour, ZGenius et ses quatre amis ont eu l'idée de créer une application pour partager les actualités de leur faculté. C'était une excellente idée, et ils voulaient absolument la réaliser.
Ils se sont donc lancés dans le développement de l'application et ont réparti les tâches entre eux. Cependant, les problèmes ont commencé dès la création du projet. Chacun créait le projet sur sa propre machine et installait ses propres dépendances, mais cette approche n'était pas viable.
Ils ont décidé qu'une personne créerait le projet sur sa machine, puis le partagerait avec les autres via une clé USB ou Google Drive. Genius a donc créé le projet.
Ils ont commencé à travailler, mais de nouveaux problèmes sont apparus :
Chaque fois qu'un membre terminait sa fonctionnalité, il devait mettre le projet à jour sur une clé USB pour le partager.
Quand plusieurs membres travaillaient sur un même fichier, des conflits se produisaient, et ils ne savaient pas comment les résoudre.
Un jour, un membre de l'équipe a accidentellement supprimé des fichiers importants. Ils ne s'en sont aperçus qu'après huit jours, et il était impossible de revenir en arrière.
Ces problèmes s'accumulaient, ralentissant le projet. ZGenius devait trouver une solution rapidement.
La rencontre avec Tshaba et la découverte de Git
Un jour, ZGenius a rencontré Tshaba, une de ses amies développeuses. Il lui a expliqué les problèmes que son équipe rencontrait. Tshaba lui a alors parlé de Git, un outil de gestion de version.
"Qu'est-ce que Git ?", demanda ZGenius.
Tshaba lui expliqua que Git permet de :
Travailler en équipe sans avoir à se partager des fichiers via clé USB ou Drive.
Gérer facilement les conflits lorsque plusieurs personnes modifient un même fichier.
Suivre l'historique des modifications pour revenir à une version précédente en cas d'erreur.
Collaborer efficacement grâce à des branches pour que chaque membre puisse travailler sur des fonctionnalités spécifiques sans interférer avec les autres.
L’organisation avec Git et GitHub
Après cette discussion, ZGenius organisa une réunion avec son équipe pour leur expliquer cette solution. Voici comment ils ont décidé de travailler avec Git et GitHub :
Qu'est-ce que Git ?
Git est un outil de gestion de versions qui permet de suivre les modifications dans les fichiers, de collaborer efficacement en équipe, et d'éviter les conflits ou pertes de données. C’est particulièrement utile pour le travail en groupe sur des projets de programmation.
Installation de Git
Téléchargement et installation :
Allez sur le site officiel : git-scm.com.
Téléchargez la version correspondant à votre système d'exploitation (Windows, macOS ou Linux).
Suivez les instructions d'installation.
Vérification de l'installation :
Ouvrez un terminal ou un invite de commande.
Tapez :
git --version
Si une version s’affiche, Git est correctement installé.
Configurer Git
Après l’installation, configurez votre identité :
git config --global user.name "VotreNom"
git config --global user.email "VotreEmail@example.com"
Créer un Dépôt Git : La Première Étape
Un dépôt (ou repository en anglais) est un espace de stockage où les fichiers d'un projet et leur historique de modifications sont enregistrés. C'est une structure utilisée par Git pour suivre les versions d'un projet et permettre la collaboration entre plusieurs développeurs.
Comment Créer un Dépôt ?
Initialiser un dépôt dans un projet existant :
git init
Cette commande crée un dépôt Git local dans le dossier actuel.
Git commence alors à suivre les modifications dans ce dossier.
Vérifier que Git a été initialisé :
ls -a
- Vous verrez un dossier caché
.git
qui contient toutes les données du dépôt.
- Vous verrez un dossier caché
Ajouter des Fichiers au Staging Area
Pour que Git commence à suivre les modifications d’un fichier, vous devez l'ajouter au staging area (zone de préparation). Cela signifie que vous indiquez à Git quels fichiers ou modifications doivent être inclus dans le prochain commit
Ajouter un fichier spécifique :
git add fichier.txt
Ajouter tous les fichiers :
git add .
- Cela inclut tous les fichiers modifiés ou nouveaux dans le staging area.
Enregistrer les Modifications : Le Commit
Un commit est une capture instantanée de l’état actuel des fichiers suivis par Git. Il enregistre :
Les modifications apportées aux fichiers.
Un message descriptif qui explique les changements effectués.
Une référence unique (hash) qui permet de l’identifier dans l’historique.
Comment Faire un Commit ?
Créer un commit avec un message :
git commit -m "Description des modifications"
Travailler en Équipe : Les Branches
Dans Git, une branche (branch) est une version parallèle et indépendante du projet. C’est comme une piste de travail isolée où vous pouvez expérimenter, développer une nouvelle fonctionnalité ou corriger un bogue sans affecter le reste du projet.
Pourquoi Utiliser des Branches ?
Travailler en parallèle : Les membres d’une équipe peuvent travailler sur différentes fonctionnalités sans interférer entre eux.
Préserver la stabilité : La branche principale (main ou master) reste stable pendant que d’autres branches accueillent les expérimentations ou les développements.
Gérer les versions : Les branches permettent de tester des modifications avant de les intégrer définitivement dans le projet principal.
Faciliter la collaboration : Chaque membre peut développer sur sa propre branche et proposer ses modifications via une pull request.
Comment Créer et Passer à une Nouvelle Branche ?
Créer une branche :
git branch nom_de_la_branche
Changer de branche :
git checkout nom_de_la_branche
Lister les Branches
Pour voir toutes les branches de votre projet, utilisez :
git branch
La branche active sera marquée d’un astérisque (*) :
* main feature-login feature-register
Fusionner une Branche
Une fois le travail terminé sur une branche, vous pouvez l’intégrer (fusionner) dans une autre branche, comme la branche principale.
Étapes pour fusionner :
Basculez sur la branche dans laquelle vous voulez fusionner les modifications (souvent
main
) :git checkout main
Fusionnez la branche cible :
git merge nom_de_la_branche
Collaborer avec GitHub
GitHub est une plateforme où les dépôts peuvent être hébergés en ligne pour la collaboration.
Pourquoi Utiliser GitHub ?
Centralise le projet pour que tous les membres puissent y accéder.
Permet de gérer les pull requests et de discuter des modifications.
Comment Envoyer le Projet vers GitHub ?
Ajouter un dépôt distant :
git remote add origin URL_du_dépôt
Pousser les modifications vers GitHub :
git push -u origin branche_principale
Récupérer les Modifications d’un Collègue
Pour synchroniser les modifications faites par d’autres membres :
git pull origin branche_principale
Gérer les Conflits
Lorsque deux membres modifient le même fichier, Git demande de résoudre les conflits manuellement :
Ouvrez le fichier marqué comme en conflit.
Gardez ou modifiez les sections nécessaires.
Ajoutez le fichier résolu :
git add fichier_conflit.txt
Créez un commit pour valider la résolution :
git commit -m "Résolution du conflit"
Les Pull Requests dans GitHub
Les Pull Requests (PR) sont un outil clé pour collaborer efficacement sur un projet. Elles permettent à un développeur de proposer des modifications (ajout de fonctionnalités, correction de bugs, etc.) à un projet hébergé sur une plateforme comme GitHub, tout en offrant un espace pour discuter, revoir et valider ces modifications avant de les intégrer dans la branche principale.
Pourquoi Utiliser les Pull Requests ?
Revue de Code : Les membres de l'équipe peuvent examiner le code avant son intégration.
Collaboration : Les PR fournissent un espace pour commenter, poser des questions, ou suggérer des améliorations.
Sécurité : Elles réduisent les risques d'intégration de code non testé ou de conflits dans la branche principale.
Historique Clair : Les PR documentent les raisons et le contexte des changements.
Comment Fonctionnent les Pull Requests ?
1. Créer une Branche
Avant de proposer des changements, créez une branche pour isoler votre travail :
git checkout -b nom_de_votre_branche
2. Faire vos Modifications
Apportez vos changements dans le code, puis enregistrez-les avec des commits :
git add .
git commit -m "Description des modifications"
3. Pousser la Branche sur le Dépôt Distant
Envoyez votre branche vers GitHub :
git push origin nom_de_votre_branche
4. Ouvrir une Pull Request
Allez sur le dépôt GitHub.
Cliquez sur Pull Requests > New Pull Request.
Sélectionnez votre branche comme source et la branche cible (souvent
main
oudevelop
).Ajoutez un titre et une description expliquant vos changements.
Cycle d'une Pull Request
Revue de Code :
Les autres développeurs examinent le code.
Ils peuvent approuver ou demander des modifications via des commentaires.
Modification du Code : Si des changements sont demandés :
Modifiez votre code localement.
Faites un nouveau commit et poussez la branche :
git push origin nom_de_votre_branche
Tests Automatiques : Si le projet utilise un système d'intégration continue (CI), les tests s'exécutent automatiquement pour valider les modifications.
Fusion (Merge) : Une fois la PR approuvée, elle est fusionnée dans la branche cible via l'interface GitHub.
Les Options de Fusion
Merge Commit : Ajoute un commit de fusion qui combine les modifications.
Squash and Merge : Combine tous les commits de la PR en un seul commit.
Rebase and Merge : Applique les commits de la PR sur la branche cible, sans créer de commit de fusion.
Avantages des Pull Requests pour ZGenius et son Équipe
Collaboration Centralisée : Tous les membres peuvent revoir le code sans avoir à le partager via clé USB ou Drive.
Résolution de Conflits : Les conflits peuvent être identifiés et résolus dans la PR avant d'intégrer le code.
Meilleure Qualité de Code : Les discussions et revues permettent de garantir que le code est propre, testé et aligné avec les standards de l'équipe.
Exemple pour ZGenius
1. Création de la Branche
ZGenius travaille sur une nouvelle fonctionnalité :
git checkout -b feature-ajout-actualites
2. Modifications et Commit
Il ajoute du code pour afficher les actualités de la faculté :
git add .
git commit -m "Ajout de la fonctionnalité actualités"
3. Push de la Branche
Il pousse la branche sur GitHub :
git push origin feature-ajout-actualites
4. Pull Request
Sur GitHub, il crée une PR pour demander une revue de code. Ses amis examinent la PR, la testent, et ajoutent des commentaires pour améliorer le code.
5. Fusion
Une fois la PR approuvée, ils fusionnent la branche dans main
, et le projet est mis à jour avec la nouvelle fonctionnalité.
Conclusion
Les Pull Requests sont essentielles pour travailler en équipe efficacement avec GitHub. Elles permettent à ZGenius et son équipe de collaborer de manière structurée, de détecter et résoudre les problèmes rapidement, et de garantir la qualité du projet.
Conclusion
Avec Git et GitHub, ZGenius et son équipe ont pu :
Travailler en parallèle sans conflits.
Suivre les modifications et revenir à une version précédente en cas de problème.
Collaborer efficacement grâce aux branches et aux pull requests.
Leur projet a rapidement pris de l’ampleur, et ils ont enfin réalisé leur rêve !