Les branches : travailler en parallèle
Le gain du jour : créer une branche, y travailler tranquillement, puis fusionner ton travail. C’est exactement le geste que tu feras chaque jour en équipe : une branche par tâche, jamais de travail directement sur la branche principale.
Check pratique — 60 secondes
Cette leçon suppose que tu as fait les exercices 1 à 3 au clavier. Vérifie :
cd ~/Workspaces/pythons/git-entrainement
git log --oneline
Tu dois voir au moins 3–4 commits avec des titres à l’impératif. Moins que ça ? Retourne faire les boucles d’entraînement des leçons précédentes d’abord — sinon cette leçon reposera sur du sable.
Une branche, c’est quoi ?
Jusqu’ici, ton album photo est une ligne droite : commit après commit. Une branche permet de faire bifurquer l’histoire : tu pars du dernier commit et tu construis une suite alternative, sans toucher à la ligne principale (Pro Git, « Les branches en bref »).
Techniquement, une branche n’est qu’une étiquette mobile posée sur un commit —
c’est pour ça qu’en créer une est instantané et gratuit. Ta branche principale s’appelle
main (ou master sur les vieux dépôts). L’étiquette spéciale
HEAD indique où tu es en ce moment.
A───B───C ◀ main
\
D───E ◀ exploration-donnees ◀ HEAD (tu es ici)
Pourquoi c’est LA fondation du travail en équipe : chacun travaille sur sa
branche, la branche main reste toujours propre et fonctionnelle, et on fusionne
quand c’est prêt (après revue). Une tâche = une branche.
Les trois gestes
| Geste | Commande | Effet |
|---|---|---|
| Créer une branche et s’y placer | git switch -c <nom> | Nouvelle étiquette sur le commit courant, HEAD s’y déplace |
| Changer de branche | git switch <nom> | HEAD se déplace, tes fichiers changent pour refléter la branche |
| Fusionner une branche dans la courante | git merge <nom> | Ramène les commits de <nom> dans la branche où tu es |
git branch liste les branches (l’astérisque * = ta position), et
git status commence toujours par « On branch … ». Ta boussole marche aussi ici.
Entraîne-toi ici — terminal simulé
Avant de passer au vrai terminal, fais l’exercice dans ce simulateur : il accepte les vraies commandes du cours et valide ton résultat automatiquement. Erreur sans conséquence, bouton reset à volonté.
À toi de jouer
Pars d’un état propre et vérifie où tu es :
git status # « working tree clean », sur main (ou master) git branchCrée ta branche de travail — une tâche, un nom clair :
git switch -c exploration-donnees git branch # l'astérisque a bougéTravaille sur la branche : deux commits, comme en vrai :
echo "import pandas as pd" > exploration.py git add exploration.py git commit -m "Ajoute le squelette d'exploration" echo "df = pd.read_csv('donnees.csv')" >> exploration.py git add exploration.py git commit -m "Charge le fichier de données"Le moment magique. Retourne sur main et regarde tes fichiers :
git switch main ls # exploration.py a DISPARU ! cat analyse.py # intact, comme avantRien n’est perdu :
exploration.pyvit sur l’autre branche. Reviens-y pour le constater (git switch exploration-donnees,ls), puis retourne surmain. Les fichiers de ton dossier suivent HEAD.Visualise la géographie de ton dépôt :
git log --oneline --all --graphTu vois
mainetexploration-donneespointer sur des commits différents.Le travail est prêt : fusionne. On se place toujours sur la branche qui reçoit :
git status # vérifie : « On branch main » git merge exploration-donnees git log --oneline --all --graphGit dit « Fast-forward » : comme
mainn’avait pas avancé pendant ton travail, il a suffi de faire glisser son étiquette en avant. (Quand les deux branches ont avancé, Git crée un commit de fusion — et parfois un conflit : c’est le programme du jalon M6.)Nettoie : la branche fusionnée ne sert plus :
git branch -d exploration-donnees git branchBoucle d’entraînement (2 fois, de mémoire) : nouvelle branche → un commit → retour sur
main→ merge → suppression de la branche. C’est le cycle que tu referas des centaines de fois en équipe.
Vérifie ta compréhension
1. Fondamentalement, qu'est-ce qu'une branche Git ?
2. Tu veux ramener le travail d'exploration-donnees dans main. Que fais-tu ?
3. Tu reviens sur main et un fichier a « disparu » du dossier. Que s'est-il passé ?
Pour aller plus loin
📖 Source principale : Pro Git (fr) — « Les branches en bref » puis « Branches et fusions : les bases ».
🎮 Pratique interactive fortement recommandée : Learn Git Branching (en français) — fais la séquence « Introduction » (4 niveaux) : tu verras les étiquettes bouger en direct. C’est le meilleur simulateur qui existe pour ancrer cette leçon.
🗂 Fiche mise à jour : Commandes Git — antisèche.