Comment lister toutes les branches locales fusionnées dans la branche principale (master) dans Git

GitBeginner
Pratiquer maintenant

Introduction

Git est un puissant système de contrôle de version qui permet aux développeurs de gérer et de collaborer efficacement sur le code. Une tâche courante dans Git consiste à lister toutes les branches locales qui ont été fusionnées dans la branche principale (master). Ces informations peuvent être utiles pour nettoyer votre dépôt local et maintenir une base de code organisée. Dans ce tutoriel, nous allons vous guider à travers le processus de liste de toutes les branches locales fusionnées dans la branche principale (master) dans Git.

Comprendre les branches Git

Git est un système de contrôle de version distribué qui permet aux développeurs de gérer et de suivre efficacement les modifications dans leur base de code. L'un des concepts fondamentaux de Git est la branche (branch), qui représente une ligne de développement distincte au sein d'un dépôt.

Qu'est-ce qu'une branche Git ?

Une branche Git est un pointeur léger et mobile vers un commit spécifique dans l'historique du dépôt. Les branches permettent aux développeurs de travailler sur différentes fonctionnalités ou corrections de bogues simultanément sans interférer avec la base de code principale, connue sous le nom de branche master ou main.

Pourquoi utiliser des branches Git ?

L'utilisation de branches dans Git offre plusieurs avantages :

  1. Développement parallèle : Les branches permettent à plusieurs développeurs de travailler sur différentes fonctionnalités ou corrections de bogues en parallèle, sans affecter la base de code principale.
  2. Expérimentation : Les développeurs peuvent créer de nouvelles branches pour tester des idées ou explorer de nouvelles approches sans risquer la stabilité de la branche principale.
  3. Collaboration : Les branches facilitent la collaboration en permettant aux développeurs de travailler sur des fonctionnalités distinctes, puis de fusionner leurs modifications dans la branche principale.
  4. Débogage plus facile : Si un bogue est introduit dans une branche spécifique, il peut être facilement isolé et corrigé sans affecter le reste de la base de code.

Création et changement de branches

Pour créer une nouvelle branche dans Git, vous pouvez utiliser la commande git branch suivie du nom de la nouvelle branche :

git branch feature/new-functionality

Pour basculer sur la branche nouvellement créée, utilisez la commande git checkout :

git checkout feature/new-functionality

Alternativement, vous pouvez créer et basculer sur une nouvelle branche en une seule étape en utilisant la commande git checkout -b :

git checkout -b feature/new-functionality

Fusion de branches

Une fois le travail sur une fonctionnalité ou une correction de bogue terminé, la branche peut être fusionnée dans la branche principale. Cela se fait en utilisant la commande git merge :

git checkout main
git merge feature/new-functionality

Cela intégrera les modifications de la branche feature/new-functionality dans la branche main.

Lister les branches locales fusionnées dans la branche principale (master)

Lorsque vous travaillez sur différentes fonctionnalités ou corrections de bogues dans votre dépôt Git, vous pouvez accumuler plusieurs branches. Au fil du temps, certaines de ces branches peuvent être fusionnées dans la branche master ou main. Suivre quelles branches locales ont été fusionnées peut être utile pour maintenir un dépôt propre et organisé.

Utilisation de git branch --merged

Git propose la commande git branch --merged pour lister toutes les branches locales qui ont été fusionnées dans la branche actuelle. Cela est particulièrement utile lorsque vous souhaitez identifier les branches qui peuvent être supprimées en toute sécurité, car elles ont déjà été intégrées dans la base de code principale.

Pour lister toutes les branches locales qui ont été fusionnées dans la branche master, vous pouvez exécuter la commande suivante :

git branch --merged master

Cela affichera une liste de toutes les branches locales qui ont été fusionnées dans la branche master.

Comprendre la sortie

La sortie de la commande git branch --merged vous montrera une liste de noms de branches, la branche actuelle étant marquée par un astérisque (*). Par exemple :

  feature/new-functionality
* main
  bugfix/issue-123

Dans cet exemple, les branches feature/new-functionality et bugfix/issue-123 ont été fusionnées dans la branche main, qui est la branche actuelle.

Suppression des branches fusionnées

Une fois que vous avez identifié les branches locales qui ont été fusionnées dans la branche master, vous pouvez les supprimer en toute sécurité en utilisant la commande git branch -d. Cela contribue à maintenir votre dépôt propre et organisé.

git branch -d feature/new-functionality
git branch -d bugfix/issue-123

Si une branche n'a pas été fusionnée, Git vous empêchera de la supprimer, sauf si vous utilisez le flag -D, qui forcera la suppression.

Exploiter la liste des branches fusionnées

La liste des branches locales qui ont été fusionnées dans la branche master peut être exploitée de diverses manières pour maintenir un dépôt Git propre et organisé.

Nettoyer les branches fusionnées

L'un des principaux cas d'utilisation de la liste des branches fusionnées est de nettoyer votre dépôt local en supprimant les branches qui ont déjà été fusionnées. Cela contribue à maintenir votre dépôt bien rangé et réduit le désordre dans votre liste de branches.

git branch --merged master | grep -v "master" | xargs git branch -d

Cette commande liste d'abord toutes les branches locales qui ont été fusionnées dans la branche master, exclut ensuite la branche master elle - même, et enfin supprime les branches fusionnées restantes.

Identifier les branches non fusionnées

En plus de lister les branches fusionnées, vous pouvez également utiliser la commande git branch --no - merged pour identifier les branches qui n'ont pas été fusionnées dans la branche master. Cela peut être utile pour déterminer quelles branches doivent encore être fusionnées ou traitées.

git branch --no-merged master

Cette commande affichera une liste de toutes les branches locales qui n'ont pas été fusionnées dans la branche master.

Automatiser la gestion des branches

Pour rationaliser encore plus votre processus de gestion des branches, vous pouvez créer un script ou un alias qui combine les commandes git branch --merged et git branch -d. Cela vous aidera à identifier et supprimer rapidement les branches fusionnées, rendant la maintenance de votre dépôt plus efficace.

Par exemple, vous pouvez créer un alias Git dans votre fichier .gitconfig :

[alias]
    clean-merged = "!git branch --merged master | grep -v \"master\" | xargs git branch -d"

Ensuite, vous pouvez exécuter git clean - merged pour supprimer toutes les branches locales qui ont été fusionnées dans la branche master.

En exploitant la liste des branches fusionnées, vous pouvez maintenir votre dépôt Git organisé, réduire le désordre et vous concentrer sur le travail de développement actif.

Résumé

En suivant les étapes décrites dans ce tutoriel, vous apprendrez à lister efficacement toutes les branches locales Git qui ont été fusionnées dans la branche principale (branch). Cette connaissance vous permettra de mieux gérer votre flux de travail Git, d'identifier et de supprimer les branches inutiles, et de maintenir une base de code propre et organisée. Maîtriser cette technique Git rationalisera votre processus et améliorera votre productivité globale.