본문 바로가기
Git

[깃] Git Branch 삭제 UI 만들기

by 까망 하르방 2024. 11. 23.
반응형

Git Branch 삭제 UI 만들기

버전 관리하다 보면 로컬 브랜치 정리하는 경우가 있다.

 

 
브랜치 삭제하려면

목록(이름)을 확인하고 브랜치명을 가지고 삭제하는데

이번 포스팅에서는 각 로컬 브랜치에 번호를 부여해서

번호를 입력하면 해당 브랜치가 삭제하여 UX/UI 효율을 높이고자 한다.

git branch -D UI 만들기

 

 

• 현재 브랜치와 Master 브랜치는 목록에서 제외

Ctrl + C해도 종료되지만 X 누르면 종료

git branch -D UI 만들기


#!/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

 

 

• 공백을 제외한 브랜치 목록 들고오기 (master 및 현재 브랜치 제외)

• 삭제할 브랜치가 없으면 바로 종료

• 유효성 검사: 양의 정수 입력. 브랜치 목록 개수 이내인지 확인


쉘 스크립트를 Alias로 등록

vi ~/.gitconfig

 

 

📌 [Git 깃] git alias

 

[Git 깃] git alias

별칭(Alias)를 통해서 비교적 긴 명령어를 쉽게 입력할 수 있다. 예를 들어 "checkout" → "co"로 피로감을 줄일 수 있다. config 파일 직접 설정 ~/.gitconfig 파일을 열어서 [alias] 부분에 커맨드 등록하는

zoosso.tistory.com

 

 

[alias] 부근에 Path에 맞춰 등록해둔다.

git alias

 

brDl = "!f() { ./harbang.sh; }; f"

 

 

branch를 -D 옵션으로 list 를 보겠다는 의미로

brDl 로 설정하였다.

git branch -D

반응형

'Git' 카테고리의 다른 글

[Git] 특정 파일 버전 되돌리기  (4) 2024.11.28
[Git] commit 순서 변경하기  (5) 2024.11.24
[Git 깃] 유용한 Alias 설정 목록  (28) 2024.11.19
[Git 깃] 유용한 config 설정 목록  (3) 2024.11.18
[Git] 깃 버전 관리  (1) 2024.07.20

댓글