Collaboration en Équipe

🌿 Tutoriel Git : crĂ©er une branche depuis une branche et fusionner via Pull Request

Ce tutoriel vous apprend Ă  :

  1. ✅ Partir d’une branche de fonctionnalitĂ© existante

  2. ✏ Travailler sur une sous‑fonctionnalitĂ©

  3. 🔄 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

Schéma de branches Git


Ce schĂ©ma montre une situation typique dans un projet d’équipe :

  • 🟱 master (ou main) 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 main propre 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 master en mĂȘme temps.

  • Vous avez travaillĂ© indĂ©pendamment sur vos fonctionnalitĂ©s.

  • Vous avez fusionnĂ© votre travail via des PR (idĂ©alement).

  • master reste propre et Ă  jour, avec un minimum de conflits.


Flux de travail typique

Voici comment procéder pour travailler en parallÚle sur une fonctionnalité :

  1. Partez de votre branche de fonctionnalité principale

  2. CrĂ©ez une sous‑branche de fonctionnalitĂ©

  3. Faites vos changements

  4. Poussez vers GitHub git push origin feature/header-component

  5. Allez sur GitHub et créez une Pull Request visant feature/main-layout

  6. Aprùs approbation, fusionnez via l’interface GitHub

  7. 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

  1. Allez sur votre dépÎt sur GitHub

  2. Vous verrez une invite : ➕ Compare & pull request → Cliquez

  3. Définissez la base branch sur feature/main-layout

  4. Définissez la compare branch sur feature/layout-component

  5. Ajoutez un titre et une description clairs

  6. 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 :

  1. Allez sur la PR sur GitHub

  2. Cliquez Squash and merge ou Rebase and merge

  3. 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.