Comprendre et utiliser les branches Git avec git branchet git switch

AL
Abdallah LISSER
22/10/2026
9 min de lecture
59 vues
Comprendre et utiliser les branches Git avec git branchet git switch

Introduction

Dans les tutoriels précédents, nous avons appris à créer un dépôt Git local, à enregistrer les modifications d’un projet avec des commits, à envoyer ce projet sur GitHub avec git push et à récupérer un dépôt avec git clone et git pull.

Jusqu’à présent, nous avons principalement travaillé sur une seule branche : la branche main.

Cependant, lorsqu’un projet évolue, il peut être utile de travailler sur une nouvelle fonctionnalité sans modifier directement la version principale du projet.

C’est précisément le rôle des branches Git.

Dans ce tutoriel, nous allons découvrir :

  • ce qu’est une branche Git ;
  • comment afficher les branches d’un dépôt ;
  • comment créer une nouvelle branche ;
  • comment changer de branche ;
  • comment travailler sur un fichier uniquement dans une branche ;
  • comment revenir sur la branche main ;
  • comment supprimer une branche devenue inutile.

Nous allons continuer à utiliser le dossier mon-projet créé dans les tutoriels précédents.

1. Qu’est-ce qu’une branche Git ?

Une branche permet de créer une ligne de travail indépendante dans un dépôt Git.

Imaginons que notre projet soit actuellement stable sur la branche main.

Nous souhaitons maintenant ajouter une nouvelle page de contact.

Nous pourrions modifier directement main, mais cela signifie que nos modifications seraient effectuées directement sur la version principale du projet.

Avec une branche, nous pouvons créer un espace de travail séparé :

Schéma de création d’une branche Git

La branche nouvelle-page part du même état que main, mais les nouveaux commits réalisés dessus pourront évoluer indépendamment.

Nous pouvons ainsi travailler sur une fonctionnalité sans modifier immédiatement la branche principale.

Une fois le travail terminé et vérifié, il sera possible de fusionner la branche avec main.

Cette opération sera abordée dans un prochain tutoriel consacré à git merge.

2. Reprendre le projet existant

Nous allons utiliser le même projet que dans les tutoriels précédents.

Placez-vous dans le dossier du projet :

cd mon-projet

Le projet contient déjà plusieurs fichiers, par exemple :

mon-projet/
|-- index.html
|-- README.md
|-- script.js
`-- style.css

Il n’est donc pas nécessaire de recréer le dossier ni d’exécuter à nouveau git init.

Vous pouvez vérifier que vous êtes bien dans un dépôt Git avec :

git status

Git devrait notamment indiquer la branche sur laquelle vous vous trouvez.

Par exemple :

Résultat de la commande git status

Cela signifie que nous sommes actuellement sur la branche main et qu’aucune modification n’est en attente.

3. Afficher les branches avec git branch

Pour afficher les branches présentes dans le dépôt, utilisez :

git branch

Vous devriez obtenir quelque chose de similaire :

Affichage de la branche main

L’astérisque * indique la branche actuellement utilisée.

Dans notre cas, * main signifie que nous travaillons actuellement sur main.

Pour le moment, notre dépôt ne possède qu’une seule branche locale.

4. Créer une nouvelle branche

Nous allons maintenant créer une branche destinée au développement d’une nouvelle page de contact.

Utilisez :

git branch nouvelle-page

Cette commande crée la branche, mais ne nous fait pas automatiquement basculer dessus.

Vérifiez les branches :

git branch

Nous obtenons maintenant :

Liste des branches main et nouvelle-page

La branche nouvelle-page existe bien, mais l’astérisque se trouve toujours devant main.

Nous travaillons donc encore sur la branche principale.

5. Changer de branche avec git switch

Pour passer sur notre nouvelle branche, utilisons :

git switch nouvelle-page

Git devrait afficher :

Basculement sur la branche nouvelle-page

Vérifiez à nouveau :

git branch

Cette fois :

Branche nouvelle-page actuellement utilisée

L’astérisque se trouve maintenant devant nouvelle-page.

Toutes les modifications et tous les commits que nous allons réaliser seront donc associés à cette branche.

6. Créer une branche et basculer dessus en une seule commande

Nous venons d’utiliser deux commandes :

git branch nouvelle-page
git switch nouvelle-page

Git permet également de créer une branche et de basculer immédiatement dessus.

La syntaxe est :

git switch -c nom-de-la-branche

Par exemple :

git switch -c test

Cette commande est équivalente à :

git branch test
git switch test

Pour revenir sur notre branche de travail :

git switch nouvelle-page

Si vous avez créé la branche test uniquement pour essayer la commande, nous la supprimerons plus tard.

7. Travailler sur notre nouvelle branche

Nous allons maintenant effectuer une vraie modification uniquement sur nouvelle-page.

Pour cet exemple, nous allons créer un nouveau fichier contact.html.

Ce fichier n’existe pas encore dans notre projet : il faut donc le créer maintenant.

Sous Linux, utilisez :

touch contact.html

Vérifiez les fichiers présents :

ls

Nous avons maintenant, par exemple :

Liste des fichiers avec contact.html

Le fichier contact.html existe sur notre branche de travail.

8. Ajouter du contenu dans le nouveau fichier

Ouvrez maintenant contact.html avec votre éditeur de texte nano ou gedit.

Ajoutez par exemple :

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Contact</title>
</head>
<body>
    <h1>Nous contacter</h1>
    <p>Bienvenue sur notre page de contact.</p>
</body>
</html>

Enregistrez le fichier.

Git détecte maintenant qu’un nouveau fichier a été créé.

Vérifiez avec :

git status

Vous devriez voir contact.html dans les fichiers non suivis :

Fichier contact.html non suivi par Git

Le fichier existe dans notre dossier, mais il n’a pas encore été ajouté à l’historique Git.

9. Ajouter et enregistrer le nouveau fichier

Ajoutons le fichier à la zone de préparation :

git add contact.html

Vérifiez :

git status

Git indique maintenant que le fichier est prêt à être enregistré dans un commit.

Créons le commit :

git commit -m "Ajout de la page contact"

Notre branche nouvelle-page possède maintenant un commit qui n’existe pas sur main.

Nous pouvons représenter la situation ainsi :

Schéma des branches main et nouvelle-page avec le commit D

Le commit D correspond ici à l’ajout de contact.html.

10. Vérifier l’historique de la branche

Pour afficher rapidement l’historique :

git log --oneline

Vous devriez voir votre nouveau commit en haut de la liste :

Historique Git avec le commit de la page contact

Ce commit appartient actuellement à l’historique de nouvelle-page.

Nous allons maintenant voir ce qui se passe lorsque nous retournons sur main.

11. Revenir sur la branche main

Avant de changer de branche, vérifiez que vos modifications ont bien été enregistrées :

git status

Nous voulons obtenir :

État propre de la branche nouvelle-page

Revenez ensuite sur main :

git switch main

Git indique :

Retour sur la branche main

Vérifiez :

git branch

Nous avons maintenant :

Branche main actuellement utilisée

Nous sommes de nouveau sur la branche principale.

12. Que devient contact.html ?

Regardez maintenant les fichiers présents dans le dossier :

ls

Vous constaterez que contact.html n’est plus présent.

Liste des fichiers sans contact.html sur main

Pourquoi ?

Le fichier n’a pas été supprimé de Git.

Il appartient simplement à un commit présent sur la branche nouvelle-page, mais pas sur main.

Lorsque nous exécutons :

git switch nouvelle-page

Git remet notre dossier de travail dans l’état correspondant à cette branche.

Vérifiez :

ls

Le fichier contact.html est de nouveau présent.

Puis revenez sur main :

git switch main

Le fichier disparaît à nouveau.

C’est l’un des principes essentiels des branches Git : chaque branche peut représenter un état différent du projet.

13. Visualiser les branches et les commits

Git permet d’obtenir une représentation plus claire de l’historique avec :

git log --oneline --graph --all

Vous pourrez voir les différents commits et les branches associées.

Une représentation simplifiée pourrait ressembler à :

Historique Git affiché sous forme de graphe

Avec des projets comportant davantage de branches et de commits, l’option --graph devient particulièrement utile pour comprendre l’évolution du dépôt.

14. Afficher de nouveau toutes les branches locales

À tout moment, vous pouvez utiliser :

git branch

Dans notre exemple :

Liste des branches locales Git

Cette commande permet donc à la fois de connaître les branches disponibles et d’identifier celle actuellement utilisée grâce à l’astérisque.

15. Supprimer une branche

Une branche peut être supprimée lorsqu’elle n’est plus nécessaire.

La commande est :

git branch -d nom-de-la-branche

Cependant, dans notre exemple, nous ne devons pas encore supprimer nouvelle-page.

Son commit contenant contact.html n’a pas été fusionné avec main.

Si vous essayez :

git branch -d nouvelle-page

Git peut refuser la suppression afin d’éviter de perdre facilement un travail qui n’a pas encore été fusionné.

Refus de suppression d’une branche non fusionnée

C’est une protection utile.

Nous conserverons donc nouvelle-page pour le prochain tutoriel, dans lequel nous apprendrons à récupérer son travail dans main avec git merge.

16. Pourquoi utiliser des branches ?

Les branches deviennent particulièrement utiles lorsque plusieurs modifications doivent être réalisées sur un projet.

Par exemple :

main
??? nouvelle-page
??? correction-menu
??? nouveau-design

Chaque branche peut être consacrée à une tâche précise.

Cela permet notamment de :

  • conserver une branche principale stable ;
  • développer une fonctionnalité séparément ;
  • tester une modification avant de l’intégrer ;
  • travailler sur plusieurs fonctionnalités indépendamment ;
  • faciliter le travail à plusieurs sur un même projet.

Une fois une fonctionnalité terminée, son travail peut être intégré à main.

Conclusion

Dans ce tutoriel, nous avons découvert le fonctionnement des branches Git.

Nous avons appris à afficher les branches avec git branch, à créer une nouvelle branche :

git branch nouvelle-page

puis à basculer dessus avec :

git switch nouvelle-page

Nous avons ensuite créé le fichier contact.html et enregistré cette modification uniquement dans notre nouvelle branche.

En revenant sur main, nous avons constaté que ce fichier n’était pas présent. En retournant sur nouvelle-page, il réapparaissait.

Cette manipulation permet de comprendre concrètement l’intérêt des branches : travailler sur différentes versions d’un projet sans modifier immédiatement la branche principale.

Notre projet possède maintenant deux historiques qui ont commencé à évoluer séparément.

Dans le prochain tutoriel, nous verrons comment réunir ces modifications en apprenant à fusionner une branche avec git merge.

Commentaires

Laisser un commentaire

0 / 2500 caractères
* Champs obligatoires. Votre commentaire sera publié immédiatement.

Soyez le premier à commenter cet article !

Image agrandie