Collaboration en Ăquipe
đż Tutoriel Git : crĂ©er une branche depuis une branche et fusionner via Pull Request
Ce tutoriel vous apprend Ă :
â Partir dâune branche de fonctionnalitĂ© existante
âïž Travailler sur une sousâfonctionnalitĂ©
đ Ouvrir une Pull Request (PR) pour la fusionner dans la branche de fonctionnalitĂ© dâorigine
Câest conçu pour les dĂ©butants utilisant la CLI Git et GitHub.
đ§ Quâestâce que le branchement (branching) ?
Le branchement dans Git, câest comme crĂ©er un univers parallĂšle de votre code, oĂč vous pouvez travailler librement sans affecter le projet original.
Cela vous permet de :
đż CrĂ©er un espace sĂ©parĂ© pour dĂ©velopper de nouvelles fonctionnalitĂ©s
đ§Ș ExpĂ©rimenter ou corriger des bogues sans rien casser
đšâđ©âđ§âđŠ Collaborer avec dâautres sur des tĂąches diffĂ©rentes
đ Revenir fusionner votre travail dans la branche principale quand il est prĂȘt
Chaque branche part dâun point prĂ©cis (souvent main ou une autre fonctionnalitĂ©) et Ă©volue indĂ©pendamment.
Ainsi, les Ă©quipes peuvent travailler simultanĂ©ment et en toute sĂ©curitĂ© sur plusieurs parties dâun projet.
đ Le branchement est la base du dĂ©veloppement collaboratif. Sans lui, tout le monde travaillerait sur les mĂȘmes fichiers en mĂȘme temps â menant au chaos et Ă la perte de travail.
đ§ Quâestâce quâune Pull Request ?
Une Pull Request (PR) est une demande de fusion de votre branche dans une autre branche (comme main, develop ou une autre fonctionnalité). Elle permet aux autres de :
đ RĂ©viser votre code
đ§Ș Lancer des tests automatisĂ©s
đŹ Laisser des commentaires ou suggestions
â Approuver les changements
đ Les PR sont essentielles pour la qualitĂ© du code, la communication dâĂ©quipe et Ă©viter de casser la prod.
đ Pourquoi les branches et les PR sont essentielles

Schéma de branches Git
Ce schĂ©ma montre une situation typique dans un projet dâĂ©quipe :
đą
master(oumain) est le code stable prĂȘt pour la production.đ” Votre travail se fait sur une branche de fonctionnalitĂ© sĂ©parĂ©e.
đ Le travail de quelquâun dâautre se fait indĂ©pendamment, aussi sur une branche sĂ©parĂ©e.
Sans branches ni Pull Requests, tout le travail serait fait sur la mĂȘme ligne temporelle, dans les mĂȘmes fichiers, ce qui mĂšnerait Ă :
đ„ Des conflits
đ Des bogues fusionnĂ©s par erreur
â La perte de stabilitĂ© du code
â En quoi les branches aident
Vous isolez vos changements de ceux des autres.
Vous pouvez travailler librement sans affecter le code de
main.Vous rĂ©duisez le risque de casser des choses pour lâĂ©quipe.
Vous pouvez tester et expérimenter en toute sécurité dans votre branche.
â En quoi les Pull Requests aident
Votre code est relus avant la fusion.
GitHub affiche automatiquement les conflits, afin de les corriger Ă temps.
Vous avez un espace de discussion autour de votre code.
Vous gardez
mainpropre et stable en tout temps.
đĄ Pensez aux branches comme votre « Ă©tabli » et aux PR comme la « porte de qualitĂ© » avant dâintĂ©grer votre travail au produit final de lâĂ©quipe.
đ Ce que reprĂ©sente ce schĂ©ma
Vous et quelquâun dâautre avez créé une branche Ă partir de
masteren mĂȘme temps.Vous avez travaillĂ© indĂ©pendamment sur vos fonctionnalitĂ©s.
Vous avez fusionné votre travail via des PR (idéalement).
masterreste propre et Ă jour, avec un minimum de conflits.
Flux de travail typique
Voici comment procéder pour travailler en parallÚle sur une fonctionnalité :
Partez de votre branche de fonctionnalité principale
CrĂ©ez une sousâbranche de fonctionnalitĂ©
Faites vos changements
Poussez vers GitHub git push origin feature/header-component
Allez sur GitHub et créez une Pull Request visant
feature/main-layoutAprĂšs approbation, fusionnez via lâinterface GitHub
Nettoyez
Voici un tutoriel détaillé, étape par étape, pour le faire.
Ă LIRE SEULEMENT
TOUS LES POINTS CIâDESSOUS SONT Ă LIRE, PAS Ă EXĂCUTER. VOUS LES PRATIQUEREZ DANS LE LAB.
Scénario
Vous travaillez sur une fonctionnalité plus large : feature/main-layout
Vous voulez crĂ©er une sousâfonctionnalitĂ© : feature/layout-component
Vous la fusionnerez via une Pull Request â pas localement.
Ătape 1 : Aller dans le dossier du projet
cd path/to/your/project
Si vous nâavez pas encore clonĂ© le projet :
git clone git@github.com:your-team/project-name.git cd project-name
Ătape 2 : Basculer sur la branche de base
Câest la fonctionnalitĂ© sur laquelle vous vous basez.
git checkout feature/main-layout git pull origin feature/main-layout
Ătape 3 : CrĂ©er une nouvelle branche depuis celleâci
git checkout -b feature/layout-component
đ Vous travaillez maintenant sur une nouvelle branche basĂ©e sur feature/main-layout.
Ătape 4 : Modifier le code
Utilisez votre éditeur préféré (VSCode, etc.) pour :
Ajouter votre nouvelle fonctionnalité ou correction
Enregistrer vos fichiers
Ătape 5 : Ajouter et valider vos changements
git add . git commit -m "feat: add new layout component"
Les messages de commit doivent ĂȘtre parlants. Utilisez des formats comme
feat:,fix:,docs:, etc.
Ătape 6 : Pousser votre branche vers GitHub
git push origin feature/layout-component
Votre branche est maintenant publiĂ©e en ligne et prĂȘte pour une revue.
Ătape 7 : Ouvrir une Pull Request
Allez sur votre dépÎt sur GitHub
Vous verrez une invite : â Compare & pull request â Cliquez
Définissez la base branch sur
feature/main-layoutDéfinissez la compare branch sur
feature/layout-componentAjoutez un titre et une description clairs
Cliquez sur Create pull request
Nâoubliez pas dâexpliquer ce que fait votre code et pourquoi vous avez fait ces changements.
Ătape 8 : Faire relire votre PR
Vos coéquipiers peuvent maintenant :
Relire votre code
Commenter ou suggérer des améliorations
Approuver ou demander des changements
Si quelquâun demande des changements :
# Make the edits git add . git commit -m "fix: adjust component" git push origin feature/layout-component
La PR se mettra Ă jour automatiquement.
Ătape 9 : Fusionner la Pull Request
Une fois approuvĂ©e et prĂȘte :
Allez sur la PR sur GitHub
Cliquez Squash and merge ou Rebase and merge
Confirmez la fusion
â
Votre code est maintenant fusionné dans feature/main-layout.
Ătape 10 : Nettoyer les anciennes branches
AprĂšs la fusion :
git branch -d feature/layout-component # delete local git push origin --delete feature/layout-component # delete remote
đ RĂ©capitulatif complet : flux de fonctionnalitĂ© basĂ© sur PR
# Partez de votre branche de fonctionnalitĂ© principale git checkout feature/main-layout git pull origin feature/main-layout # CrĂ©ez une sousâbranche de fonctionnalitĂ© git checkout -b feature/layout-component # Faites vos changements git add . git commit -m "feat: add component" # Poussez vers GitHub git push origin feature/layout-component # â Allez sur GitHub et crĂ©ez une Pull Request visant feature/main-layout # AprĂšs approbation â fusionnez via lâinterface GitHub # Nettoyez git branch -d feature/layout-component git push origin --delete feature/layout-component
Section suivante â Lab : Hall of GitFame
Maintenant que vous avez un guide sur la collaboration en équipe avec Git, mettons cela en pratique avec OLYMPGIT.