myhome/.local/bin/git-delete-branch

53 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# shellcheck disable=2162
function delete_local_branch() {
git branch -D "$1"
}
function delete_remote_branch() {
git push origin --delete "$1"
}
function list_of_the_branches() {
echo
echo "List of branches:"
echo -e "$(git branch)"
echo
}
function remove_branch() {
BRANCH="$1"
echo "$BRANCH"
read -p "Remove locally / remote / both [L/R/B]: " CHOOSE
case $CHOOSE in
[Bb]*)
delete_local_branch "$BRANCH"
delete_remote_branch "$BRANCH"
unset -f BRANCH
;;
[Ll]*)
delete_local_branch "$BRANCH"
unset -f BRANCH
;;
[Rr]*)
delete_remote_branch "$BRANCH"
unset -f BRANCH
;;
*) echo "Please write good answer" ;;
esac
}
BRANCH="$1"
if [ -z "$BRANCH" ]; then
while true; do
list_of_the_branches
read -p "Select branch to remove: " BRANCH
remove_branch "$BRANCH"
done
else
remove_branch "$BRANCH"
fi