Comment supprimer une branche dans Git localement et à distance

Comment supprimer une branche dans Git localement et à distance

L'une des caractéristiques les plus fortes de Git est ses branches légères. Ils vous permettent de travailler efficacement sur des étapes de développement parallèles. Un développeur peut même créer des branches individuelles pour des bogues séparés. Dans le temps et dans l'espace, les succursales sont presque gratuites.





comment surveiller l'utilisation de la bande passante de chaque appareil sur le réseau wifi

De nombreux workflows git traitent à la fois des branches à long terme et temporaires. Par conséquent, il est souvent nécessaire de supprimer des branches pendant le développement. Il est parfois nécessaire de supprimer des branches partagées, d'un serveur distant, ainsi que des branches locales.





Pourquoi supprimer une branche ?

Tout d'abord, si vous vous familiarisez toujours avec git , il y a de fortes chances que vous créiez une branche et que vous décidiez ensuite que vous n'en aviez pas besoin. Ou vous pourriez expérimenter avec des branches et vouloir nettoyer après vous-même. C'est bien car la création de branches dans git est une opération légère. Il est très rapide et utilise efficacement l'espace disque.





En conséquence, de nombreux workflows de développement git encouragent la création de branches, même pour des tâches très petites ou courtes. Par exemple, une stratégie courante consiste à créer une succursale pour une seule correction de bogue. Cela est vrai même s'il s'agit d'un seul auteur effectuant une modification d'une ligne dans un seul fichier.

Pour ces raisons, la création et la suppression de branches sont des opérations qu'il faut bien comprendre. Vous pourriez vous retrouver à supprimer souvent des branches au cours d'un workflow de développement typique.



Un exemple de référentiel avec des branches

Les exemples suivants font référence à un exemple de référentiel avec la structure suivante :

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Notez que chaque branche locale a une branche amont correspondante de la distante : origine .





Suppression d'une branche à l'aide de la ligne de commande

La syntaxe de commande de base pour supprimer une branche est :

git branch (-d | -D) [-r] ...

La forme la plus simple de la commande supprime une branche locale, à condition que toutes ses modifications aient été fusionnées :





$ git branch -d dev

Vous ne pouvez pas supprimer la branche actuellement active ; si vous essayez de le faire, vous obtiendrez un message comme celui-ci :

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Lorsque les choses se passent bien, vous verrez un message de confirmation :

Deleted branch dev (was 1ae41e8).

Si vous supprimez une branche qui n'existe que localement, avec des modifications non fusionnées, vous perdrez ces modifications. Par conséquent, git refusera de supprimer une branche dans une telle situation, par défaut :

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

Comme le message d'erreur l'informe, vous pouvez forcer la suppression avec le -RÉ drapeau. Cependant, git vous permettra de supprimer une branche locale non fusionnée si elle existe à distance :

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

La suppression d'une branche distante est assez différente. Vous utiliserez le git pousser commande avec le -ré drapeau à supprimer. Après cela, fournissez le nom de la télécommande (souvent origine ) et le nom de la branche :

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Suppression de branches locales et distantes avec GitHub Desktop

Contrairement au programme git en ligne de commande, L'application de bureau de GitHub vous permettra uniquement de supprimer la branche active. Vous pouvez effectuer cette action via le Branche menu, en sélectionnant le Effacer option et en la confirmant :

GitHub Desktop ne vous permettra pas de supprimer la branche par défaut, par exemple. main—même si git lui-même le supporte. Si la branche par défaut est celle qui est actuellement active, l'application désactive l'action du menu.

Si la branche représente également une branche distante, GitHub Desktop offre la possibilité de la supprimer également de la télécommande :

Supprimer des branches à l'aide de GitKraken

GitCrack affiche les branches locales et distantes de votre référentiel dans la barre latérale gauche. Vous devez supprimer chaqueséparément.

Survolez le nom de la branche appropriée et cliquez sur le Branche menu actions qui ressemble à trois points verticaux. Dans le menu, sélectionnez Effacer :

Vous verrez un message de confirmation vous informant qu'il s'agit d'une opération destructrice. Vous pouvez confirmer que vous souhaitez continuer avec le Effacer bouton:

Reflétant le comportement par défaut du programme de ligne de commande git, vous devez d'abord basculer vers une branche autre que celle que vous supprimez. Sinon, vous verrez un message d'erreur :

Suppression de succursales locales et distantes à l'aide de Tower

Supprimer une branche avec La tour est très similaire à la suppression d'une branche avec GitKraken. Les succursales locales et distantes sont affichées dans un panneau sur le côté gauche. Cliquez avec le bouton droit sur n'importe quelle branche et sélectionnez l'option Supprimer dans le menu contextuel :

Une différence clé est qu'une branche distante peut être supprimée avec sa branche locale, lors de la confirmation :

Supprimer une branche sur GitHub

GitHub agit uniquement comme une source distante, donc les branches y sont distantes par défaut. Si vous supprimez une branche à l'aide du site Web GitHub, vous devrez supprimer la branche locale correspondante en utilisant l'une des autres méthodes ici.

Comme avec l'application GitHub Desktop, le site Web GitHub ne vous permettra pas de supprimer la branche par défaut. L'option n'apparaît tout simplement pas. La suppression d'une branche est simple, cependant. Depuis le référentiel Code page, cliquez sur le branches lien, localisez la branche à supprimer, puis cliquez sur le Supprimer cette branche icône, qui ressemble à une poubelle :

Sachez qu'il n'y a pas de vérification des modifications non fusionnées, donc sur GitHub, la branche sera simplement supprimée immédiatement. Cependant, comme il représentera toujours une branche distante, cela devrait être le comportement auquel vous vous attendez.

Notez qu'après la suppression, vous verrez un bouton pour Restaurer la branche. Cependant, il s'agit simplement d'une fonction d'annulation utile, au cas où vous cliqueriez accidentellement sur l'icône de suppression. Ne vous y fiez pas, car dès que vous actualisez ou quittez la page, vous perdrez l'option !

Suppression de branches locales et distantes sur Bitbucket

Bitbucket, comme GitHub, ne vous permettra pas de supprimer la branche par défaut. Bitbucket appelle cela le Branche principale dans Paramètres du référentiel . Vous pouvez supprimer toute autre branche répertoriée sur le Branches onglet, via son correspondant Actions menu:

Vous pouvez également supprimer plusieurs branches à la fois si vous effectuez une grosse opération de nettoyage :

La suppression de branches fait partie d'un workflow Git typique

Les branches Git peuvent compliquer votre flux de travail, en particulier avec les branches locales, distantes et de suivi. Mais pour un développement quotidien simple, vous créerez et supprimerez probablement des branches locales tout le temps. Il s'agit d'un aspect essentiel d'un workflow git typique auquel vous devriez vous habituer.

Partager Partager Tweeter E-mail Comment utiliser les branches Git pour structurer votre projet de programmation

Dans cet article, nous verrons ce que signifie le branchement de votre code, comment le faire et comment gérer les mises à jour de la branche git « principale ».

Lire la suite
Rubriques connexes
  • La programmation
  • GitHub
A propos de l'auteur Bobby Jack(58 articles publiés)

Bobby est un passionné de technologie qui a travaillé comme développeur de logiciels pendant près de deux décennies. Il est passionné par les jeux, travaillant comme rédacteur de critiques au Switch Player Magazine, et est immergé dans tous les aspects de la publication en ligne et du développement Web.

Plus de Bobby Jack

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner