scripts/SHELL/git_remove_old_branch.sh

58 lines
1.6 KiB
Bash
Raw Normal View History

2024-03-14 09:18:19 +00:00
#!/bin/bash
# TITRE : git_remove_old_branch.sh
# DESCRIPTION : Suppression des branches locales non existantes sur le repo distant
# USAGE : Lancer le script avec Git Bash
# HISTORIQUE :
# T | Date | Auteur | Description
#---+------------+------------------------------+------------------------------------
# A | 06/03/24 | Demonic | Création
# -----------------------------------------------------------------------------------
# DEBUG : DECOMMENTER LA LIGNE SUIVANTE POUR ACTIVER LE MODE DEBUG
#set -x
###############
# VARIABLES #
###############
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
GIT_DIR=$(echo $SCRIPT_DIR | sed 's/Boite_a_outils.*//g')
###############
# PROGRAMME #
###############
# AFFICHAGE DEBUT SCRIPT
echo -e "\E[1;32m
##############################
# SUPPRESSION BRANCHES GIT #
##############################
\E[0m
Script directory: $SCRIPT_DIR
GIT directory: $GIT_DIR
"
# BOUCLE CHERCHANT TOUS LES .git ET SUPPRIME LES BRANCHES
for git in $GIT_DIR*/.git
do
(
REPO=$(echo $git | cut -d'/' -f 6)
echo -e "\n\E[1;36mSUPPRESSION DES BRANCHES DU REPO $REPO\E[0m\n"
cd $git/..
for branch in $(git fetch -p; git branch -vv | grep ': gone]' | awk '{print $1}')
do
git branch -D $branch
done
)
done
# AFFICHAGE DE LA FIN DE LA SUPPRESSION
echo -e "\E[1;32m
## SUPPRESSION DES BRANCHES TERMINEE ##
\E[0m
Fermeture automatique dans 5 secondes"
# TEMPO 5S AVANT SORTIE
sleep 5