Je suis un processus de développement où je crée une nouvelle branche locale pour chaque nouvelle fonctionnalité ou story card. Une fois terminé, je fusionne la branche avec master et je pousse.
Ce qui tend à se produire avec le temps, à cause d'une combinaison de paresse et d'oubli, c'est que je me retrouve avec une grande liste de branches locales, dont certaines (comme les spikes) peuvent ne pas avoir été fusionnées.
Je sais comment lister toutes mes branches locales et je sais comment supprimer une seule branche mais je me demandais s'il existait une commande git qui me permette de supprimer toutes mes branches locales ?
Vous trouverez ci-dessous le résultat de l'opération git branch --merged
commandement.
user@machine:~/projects/application[master]$ git branch --merged
STORY-123-Short-Description
STORY-456-Another-Description
STORY-789-Blah-Blah
* master
Toutes les tentatives de suppression des branches listées avec grep -v \*
(selon les réponses ci-dessous) entraînent des erreurs :
error: branch 'STORY-123-Short-Description' not found.
error: branch 'STORY-456-Another-Description' not found.
error: branch 'STORY-789-Blah-Blah' not found.
Je l'utilise :
git 1.7.4.1
ubuntu 10.04
GNU bash, version 4.1.5(1)-release
GNU grep 2.5.4
0 votes
Ce n'est pas une réponse, mais une chose à signaler, que je fais souvent, c'est que lorsque j'atteins le sommet de la paresse et que le clone local est très sale, j'ai simplement
rm -rf /my_cool_repo
et reclasser le repo. Si je n'ai pas de branche active, c'est le moyen le plus simple de "nettoyer toutes les branches locales". Ce n'est clairement pas la solution si vous travaillez activement sur une branche.0 votes
@theJones Je ne recommanderais pas le re-clonage car vous perdriez toutes les modifications dans les fichiers non versionnés et ignorés, par exemple les projets IDE. La réponse la plus populaire ci-dessous a parfaitement fonctionné pour moi pendant des années.