Existe-t-il un moyen simple de supprimer toutes les branches de suivi dont l'équivalent distant n'existe plus ?
Exemple :
Branches (locales et distantes)
- maître
- origine/maître
- origine/bug-fix-a
- origine/bug-fix-b
- origine/bug-fix-c
Localement, je n'ai qu'une branche master. Maintenant, je dois travailler sur Correction de bogues - alors je le vérifie, je travaille dessus et j'envoie les changements à la télécommande. Ensuite, je fais la même chose avec bug-fix-b .
Branches (locales et distantes)
- maître
- Correction de bogues -
- bug-fix-b
- origine/maître
- origine/bug-fix-a
- origine/bug-fix-b
- origine/bug-fix-c
Maintenant, j'ai des succursales locales maître , Correction de bogues - , bug-fix-b . Le responsable de la branche Master va fusionner mes modifications dans maître et supprimer toutes les branches qu'il a déjà fusionnées.
L'état actuel est donc maintenant :
Branches (locales et distantes)
- maître
- Correction de bogues -
- bug-fix-b
- origine/maître
- origine/bug-fix-c
Maintenant je voudrais appeler une commande pour supprimer les branches (dans ce cas-ci Correction de bogues - , bug-fix-b ), qui ne sont plus représentés dans le référentiel distant.
Ce serait quelque chose comme la commande existante git remote prune origin
mais plutôt git local prune origin
.
25 votes
Question très bien formulée avec un exemple très clair. Excellent travail !
3 votes
Pourquoi la majorité des réponses répondent : "Supprimer les branches qui ont été fusionnées", alors que la question porte spécifiquement sur les "branches qui ne sont plus sur la télécommande". C'est une différence assez importante.