L'une des fonctionnalités 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 distincts. Dans le temps et dans l'espace, les succursales sont presque gratuites.

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

Pourquoi supprimer une branche?

Premièrement, si vous êtes toujours se familiariser avec git, il y a de bonnes chances que vous créiez une branche et que vous décidiez ensuite que vous n'en aviez pas besoin. Ou vous expérimentez peut-être avec des branches et souhaitez vous éclaircir. C'est très bien car le branchement dans git est une opération légère. Il est très rapide et utilise efficacement l’espace disque.

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 "principale" de git.

En conséquence, de nombreux workflows de développement git encouragent le branchement, 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 ne s'agit que 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 qui doivent être bien comprises. Il se peut que vous supprimiez 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 branche -vv
1 dev 1ae41e8 [origin / dev] premier commit
2 * main 1ae41e8 [origin / main] premier commit

Notez que chaque branche locale a une branche amont correspondante de la télécommande: origine.

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

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

branche git (-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 branche -d dev

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

erreur: impossible de supprimer la branche 'main' extraite à '/ tmp / sandbox'

Lorsque tout va bien, vous verrez un message de confirmation:

Suppression de la branche dev (était 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:

erreur: la branche «dev» n’est pas complètement fusionnée.
Si vous êtes sûr de vouloir le supprimer, exécutez «git branch -D dev».

Comme le message d'erreur l'indique, 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:

avertissement: suppression de la branche «dev» qui a été fusionnée avec
'refs / remotes / origin / dev', mais pas encore fusionné avec HEAD.
Suppression de la branche dev (auparavant 9a6d20b).

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

$ git push -d origine dev
Vers github.com: bobbykjack / sandbox.git
- [supprimé] dev

Suppression de branches locales et distantes avec GitHub Desktop

Contrairement au programme git en ligne de commande, 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 permet pas de supprimer la branche par défaut, par exemple. main — même si git lui-même prend en charge cela. Si la branche par défaut est celle qui est actuellement active, l'application désactive l'action de menu.

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

Suppression de branches à l'aide de GitKraken

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

Survolez le nom de la branche appropriée et cliquez sur le bouton Branche menu d'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 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 la tour

Supprimer une branche avec La tour est très similaire à la suppression d'une branche avec GitKraken. Les branches 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 là-bas 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. Cependant, la suppression d'une branche est simple. Depuis le référentiel Code page, cliquez sur la branches, recherchez 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 que 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 perdez l'option!

Suppression des 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 opération de nettoyage importante:

La suppression de branches fait partie d'un flux de travail Git typique

Les branches Git peuvent compliquer votre flux de travail, en particulier une avec des branches locales, distantes et de suivi. Mais pour un développement simple au quotidien, vous êtes susceptible de créer et de supprimer des succursales locales tout le temps. C'est un aspect essentiel d'un workflow git typique auquel vous devriez vous habituer.

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 "principale" de git.

Rubriques connexes
  • Programmation
  • GitHub
A propos de l'auteur
Bobby Jack (23 articles publiés)

Bobby est un passionné de technologie qui a travaillé comme développeur de logiciels pendant la majeure partie de deux décennies. Passionné de jeux vidéo, il travaille en tant que rédacteur de critiques chez Switch Player Magazine et est plongé 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!

Un pas de plus…!

Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.

.