#!/bin/bash
while true; do
# 현재 브랜치명
current_branch=$(git branch --show-current)
# 현재 브랜치 목록 가져오기
branches=$(git branch)
# 브랜치를 배열로 변환
branch_array=()
while IFS= read -r branch; do
# (공백 및 '*' 제거)
branch=$(echo "$branch" | sed 's/^\* //; s/^[[:space:]]*//; s/[[:space:]]*$//')
# master 브랜치와 현재 브랜치 제외
if [[ "$branch" != "master" && "$branch" != "$current_branch" ]]; then
branch_array+=("$branch")
fi
done <<< "$branches"
# branch_array 크기 확인
if [[ ${#branch_array[@]} -eq 0 ]]; then
echo "No branches available to delete."
exit 0
fi
# 브랜치 목록 출력
echo "--------------------------------------------"
for i in "${!branch_array[@]}"; do
echo "[$i] ${branch_array[i]}"
done
echo "[x] Exit"
echo "--------------------------------------------"
read -p "Enter Numer you want to delete: " branch_index
# 종료 조건 확인
if [[ "$branch_index" == "x" ]]; then
break
fi
# 유효성 검사
if [[ $branch_index =~ ^[0-9]+$ ]] && [ "$branch_index" -ge 0 ] && [ "$branch_index" -lt "${#branch_array[@]}" ]; then
git branch -D "${branch_array[$branch_index]}"
fi
done
댓글