2022-11-18 03:57 Temps de lecture : 14 min

Comment supprimer une branche GitHub ?

L'élimination d'éléments superflus, bien que cela puisse sembler paradoxal, est souvent une nécessité.

Elle libère de l'espace pour de nouvelles initiatives et simplifie la gestion des ressources existantes. C'est dans cette optique que nous allons examiner différentes méthodes pour supprimer une branche sur GitHub.

Les branches sont d'une grande utilité pour les développeurs. Si vous êtes du métier, vous saisissez certainement mon propos. Si vous maîtrisez déjà l'utilisation des branches, vous pouvez passer directement à la section concernant leur suppression. Sinon, poursuivez votre lecture si vous êtes débutant en Git ou si vous souhaitez en savoir plus sur les branches.

Qu'est-ce qu'une branche ?

Une branche est, pour faire simple, un pointeur qui fait référence à un commit. Une simple description ne suffit pas pour bien comprendre leur fonctionnement. Il faut examiner de plus près comment les branches interagissent pour appréhender leur véritable utilité.

Illustrons par quelques exemples comment les développeurs utilisent les branches dans leurs projets. Chaque cercle dans ces illustrations représente un commit.

Voici un scénario concret pour illustrer l'utilisation des branches dans un workflow.

  • Imaginons que vous faites partie d'une équipe de développement produit.
  • Un jour, votre chef d'équipe vous informe de la présence d'erreurs dans le produit et vous demande de les corriger.
  • Vous répondez par l'affirmative.
  • Voici, à quoi ressemble votre historique de commits Git à ce moment-là.

Commits Git

  • Travaillez-vous directement sur la branche master ?
  • Bien sûr que non. Travailler directement sur la branche principale peut engendrer des problèmes importants par la suite. Nous verrons cela plus en détail dans un instant.
  • Vous décidez de créer une branche à partir de la branche master pour corriger ces erreurs. Les deux branches pointeront initialement vers le même commit.

Création d'une nouvelle branche

  • Vous commencez à travailler sur les corrections de bugs et réalisez cinq commits. Votre nouvelle branche évolue donc de la manière suivante.

  • Votre nouvelle branche pointe désormais vers le commit C8, tandis que votre branche master pointe vers le commit C3.
  • Un événement inattendu survient alors : votre équipe vous signale un nouveau bug critique à corriger en priorité.
  • La situation est délicate.
  • Vous êtes déjà en train de travailler sur les corrections de bugs. Il faut donc traiter ces nouvelles erreurs, qui sont plus urgentes que les premières.
  • Il faut donc changer de tâche pour vous concentrer sur la correction de ces nouveaux bugs.
  • Que deviennent les modifications que vous avez apportées jusqu'à présent ?
  • Pas de problème, puisque vous avez créé une branche spécifique pour corriger les premiers bugs. Tout le code sur lequel vous avez travaillé jusqu'à présent reste dans cette branche.
  • Vous revenez donc à la branche master, créez une nouvelle branche, que vous nommerez par exemple "correction-bug-critique", et commencez à travailler sur les corrections urgentes.

  • Si vous n'aviez pas créé une nouvelle branche pour les premiers bugs, qu'est-ce qui se serait passé ?
  • Vous auriez dû supprimer le code que vous aviez écrit pour les premiers bugs et commencer à travailler sur les nouveaux. Et vous auriez dû réécrire le code pour les premiers bugs par la suite.
  • Voilà précisément le problème que les branches nous permettent d'éviter.
  • Les branches nous permettent donc de travailler sur du code de manière isolée.
  • Vous avez désormais corrigé les nouveaux bugs et validé vos modifications.

  • Vous avez terminé la correction des nouveaux bugs.
  • Vous revenez ensuite à la branche de corrections de bugs précédente et continuez à travailler dessus.

Ainsi, grâce aux branches, vous gérez votre code de manière méthodique et organisée. Sans les branches, imaginez le désordre qui en résulterait.

La conclusion est claire : les branches sont un outil essentiel pour les développeurs.

Sans plus tarder, voyons comment supprimer une branche.

Supprimer une branche à l'aide du client Git

Quand on parle de supprimer une branche, il faut savoir qu'on la supprime à la fois localement et à distance. Ne soyez donc pas surpris si la même branche est supprimée deux fois. Voici les étapes à suivre pour supprimer une branche.

  • Ouvrez votre terminal ou invite de commandes et accédez à votre dépôt Git.
  • Affichez les branches présentes dans votre dépôt à l'aide de la commande git branch -a. Celle-ci affichera à la fois les branches locales et distantes.

  • Copiez le nom de la branche que vous souhaitez supprimer. Dans l'exemple ci-dessus, il s'agit de "un".
  • Basculer vers la branche master, main ou toute autre branche qui n'est pas celle que vous souhaitez supprimer.
  • Supprimez la branche localement en utilisant la commande git branch -d nomDeLaBranche. Remplacez nomDeLaBranche par le nom de la branche que vous souhaitez supprimer.

  • Vérifiez la liste des branches avec la commande git branch -a. Vous constaterez que la branche que vous venez de supprimer localement est toujours présente dans votre dépôt distant. C'est normal, puisque nous ne l'avons pas encore supprimée à distance.

  • Pour supprimer la branche du dépôt distant, exécutez la commande git push nomDuDistant -d nomDeLaBranche. Remplacez nomDuDistant et nomDeLaBranche par les noms appropriés.

  • Il existe une commande plus courte pour supprimer une branche distante : git push nomDuDistant :nomDeLaBranche.

Vérifiez à nouveau la liste des branches. Si vous avez correctement suivi toutes les étapes, vous constaterez que la branche que vous avez supprimée n'apparaît plus ni en local ni à distance.

Si vous essayez de supprimer une branche qui n'existe pas, un message d'erreur vous le signalera.

C'est tout ! Vous venez de supprimer avec succès une branche, à la fois localement et à distance.

Il existe une autre manière de procéder, en utilisant l'interface web de GitHub.

Voyons cela.

Supprimer une branche à l'aide de l'interface web

La différence entre cette méthode et la précédente est minime. Ici, nous utilisons l'interface web de GitHub pour supprimer une branche distante. La suppression locale s'effectue de la même manière que précédemment.

Voici les étapes à suivre pour supprimer une branche distante à l'aide de l'interface web de GitHub.

  • Allez sur GitHub.
  • Connectez-vous à votre compte.
  • Accédez au dépôt dans lequel vous souhaitez supprimer une branche.

  • Cliquez sur le bouton "branches" pour afficher toutes les branches du dépôt.

  • La liste des branches de votre dépôt s'affiche.
  • Vous remarquerez une icône de suppression à la fin de chaque ligne.

  • Cliquez sur l'icône de suppression pour supprimer la branche du dépôt distant.

  • Vous pouvez restaurer la branche en cliquant sur le bouton "Restaurer". Cette option sera disponible jusqu'à ce que vous actualisiez ou fermiez la page.

Vous venez de supprimer la branche du dépôt distant. Accédez à votre dépôt local et supprimez la branche en utilisant la commande que nous avons vue dans la première méthode.

Exécutez maintenant la commande git branch -a pour afficher toutes les branches.

Vous constatez que la branche distante que vous avez supprimée apparaît toujours dans la liste. Comment expliquer cela ? Comment résoudre ce problème ? Voici un scénario concret qui illustre ce genre de situation.

Imaginons que vous travaillez en équipe. Votre chef d'équipe a supprimé une branche distante une fois une tâche terminée. Comment en êtes-vous informé ? Y a-t-il un moyen de savoir quelles branches ont été supprimées à distance ?

Il est nécessaire de synchroniser les dépôts locaux et distants afin de prendre en compte les branches supprimées. Pour cela, voici les commandes à utiliser :

git remote prune nomDuDistant
git fetch -p nomDuDistant

L'option -p est un raccourci pour "prune" dans la deuxième commande. L'option "prune" dans les deux commandes ci-dessus permet de supprimer les références aux branches distantes qui ont été supprimées.

Exécutez à nouveau la commande git branch -a pour vérifier la liste des branches.

Vous constatez que la branche distante ne figure plus dans la liste. Cependant, la branche locale est toujours présente. C'est normal. Vous pouvez la conserver ou la supprimer.

Vérifiez donc les branches qui sont présentes en local mais qui n'existent plus dans le dépôt distant. Supprimez les branches locales qui ont été supprimées à distance.

Vos branches sont désormais à jour. Vous êtes prêt à continuer.

Conclusion

Le plus souvent, les opérations Git se font via le terminal ou l'invite de commandes. C'est une méthode pratique, mais pas obligatoire. Au final, c'est une question de préférence personnelle.

Quel que soit l'outil ou la méthode que vous choisissez, le résultat est le même. Choisissez la méthode qui vous convient le mieux et suivez-la pour accomplir la tâche en deux étapes : suppression locale puis suppression distante.

Pour aller plus loin, découvrez également comment supprimer un dépôt GitHub.

Bon développement !

Cet article vous a plu ? N'hésitez pas à le partager avec le monde entier !

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.