58 lines
1.6 KiB
Bash
58 lines
1.6 KiB
Bash
|
#!/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
|