git clean branches
05/10/2023Lister les branches
Quand on fait des branches on a vite fait d'en avoir pleins.
=> git branch -a activitybugpaginationandadduser apresprod ... // x50 * master remotes/origin/HEAD -> origin/master remotes/origin/activitybugpaginationandadduser remotes/origin/apresprod ... // x50
Lister les branches sans remote (pas encore pushées)
ps: si je crée une branche, ce scipt la fera aparaitre.
si je push cette branche ce script ne la listera plus.
si je supprime la branche du remote elle n'aparaitra toujours pas. (même si je fais git fetch -p)
git branch --format "%(refname:short) %(upstream)" | awk '{if (!$2) print $1;}'Cleaner les remotes/origin/*
on peut dans un premier temps supprimer les références locales à des branches distantes qui ont été supprimées du remote. Donc concrêtement les remotes/origin/* qui aparaissent quand on fait git branch -a
git remote prune origin or git fetch -p
Clean les branches qui existent plus sur le remote
Ensuite pour supprime les branches locales qui n'existent plus sur le remote (méthode manuelle)
# supprime les branches mergées
git checkout master
git branch --merged | grep -v "master" | xargs git branch -d
# or
# supprime les branches supprimées sur le remote (gone)
git checkout master
git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -dsinon ya cet outil qui semble bcp plus safe et interactif
npm install -g git-removed-branches
Après on appelle ça :
# affiche juste git removed-branches # clean git removed-branches -p # clean même quand la branche a pas été mergée git removed-branches -p --force
supprimer une branche sur le remote
git push origin -d branchName