Añadir eliminar-ramas-mergeadas.sh
This commit is contained in:
parent
ad46414016
commit
c433c740e7
60
src/eliminar-ramas-mergeadas.sh
Normal file
60
src/eliminar-ramas-mergeadas.sh
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Sincronizo local con el remoto
|
||||||
|
echo -e "\e[32mPrimero vamos a sincronizar el repo local con el remoto\e[0m"
|
||||||
|
git pull origin HEAD $@
|
||||||
|
git fetch origin
|
||||||
|
git fetch --prune
|
||||||
|
|
||||||
|
|
||||||
|
# Filtrar ramas
|
||||||
|
branches=($(git branch -a --merged | egrep -v "(^\*|main|master|default|trunk|pro|prod|production|release)"))
|
||||||
|
|
||||||
|
# Verificar si hay ramas para eliminar
|
||||||
|
if [ ${#branches[@]} -eq 0 ]; then
|
||||||
|
echo -e "\e[32mNo hay ramas para eliminar.\e[0m"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Mostrar las ramas a eliminar
|
||||||
|
echo -e "\e[33mOJO! Las siguientes ramas serán eliminadas:\e[0m"
|
||||||
|
for branch in "${branches[@]}"
|
||||||
|
do
|
||||||
|
echo "- $branch"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Solicitar confirmación
|
||||||
|
read -p "¿Estás seguro de que deseas eliminar estas ramas? (s/n): " confirm
|
||||||
|
if [[ $confirm == "s" ]]; then
|
||||||
|
|
||||||
|
# Eliminar las ramas filtradas
|
||||||
|
for branch in "${branches[@]}"
|
||||||
|
do
|
||||||
|
|
||||||
|
branch_name=${branch#remotes/origin/} # Eliminar "remotes/origin/" del nombre de la rama
|
||||||
|
|
||||||
|
# Verificar si la rama remota existe
|
||||||
|
if git rev-parse --quiet --verify "refs/remotes/origin/$branch_name" >/dev/null; then
|
||||||
|
|
||||||
|
echo -e "\e[34mSe procede a eliminar la rama: $branch_name\e[0m"
|
||||||
|
|
||||||
|
git push origin --delete "$branch_name"
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
echo -e "\e[31mLa rama $branch_name no existe en el repositorio remoto. Saltando eliminación.\e[0m"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [[ $confirm == "n" ]]; then
|
||||||
|
echo "Operación cancelada."
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Opción no válida. Operación cancelada."
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
#######
|
Loading…
Reference in New Issue
Block a user