머지된 Git 브랜치를 안전하게 정리하는 방법

2026. 5. 24. 10:39·Git

Git 브랜치 삭제 명령어 정리

Git을 사용하다 보면 기능 개발이나 버그 수정을 위해 여러 브랜치를 만들게 됩니다.
작업이 끝난 브랜치를 계속 남겨두면 로컬과 원격 저장소의 브랜치 목록이 복잡해질 수 있으므로, 필요 없는 브랜치는 주기적으로 정리하는 것이 좋습니다.

이번 글에서는 로컬 브랜치, 원격 브랜치, 로컬에 남아 있는 원격 브랜치 정보를 삭제하는 방법을 정리합니다.


로컬 브랜치 삭제

로컬에 있는 브랜치는 다음 명령어로 삭제할 수 있습니다.

git branch -D <branch_name>

예를 들어 feature/login 브랜치를 삭제하려면 다음과 같이 실행합니다.

git branch -D feature/login

-D 옵션은 강제 삭제 옵션입니다.
해당 브랜치가 아직 merge되지 않았더라도 삭제할 수 있으므로, 정말 삭제해도 되는 브랜치인지 확인한 뒤 사용하는 것이 좋습니다.

보다 안전하게 삭제하려면 -d 옵션을 사용할 수 있습니다.

git branch -d <branch_name>

-d 옵션은 merge되지 않은 브랜치를 삭제하려고 할 때 경고를 표시합니다.


원격 브랜치 삭제

원격 저장소에 올라가 있는 브랜치는 다음 명령어로 삭제할 수 있습니다.

git push origin --delete <branch_name>

예를 들어 원격 저장소의 feature/login 브랜치를 삭제하려면 다음과 같이 실행합니다.

git push origin --delete feature/login

이 명령어는 origin 원격 저장소에 있는 브랜치를 삭제합니다.
협업 중인 브랜치라면 다른 사람이 사용하고 있지 않은지 확인한 뒤 삭제하는 것이 좋습니다.


로컬에 남아 있는 원격 브랜치 정보 정리

원격 브랜치를 삭제해도 로컬에는 origin/브랜치명 형태의 원격 추적 브랜치 정보가 남아 있을 수 있습니다.

이때는 다음 명령어로 정리할 수 있습니다.

git fetch --prune

이 명령어는 원격 저장소에서 이미 삭제된 브랜치 정보를 로컬에서도 정리합니다.

예를 들어 원격에서 feature/login 브랜치가 삭제되었는데 로컬에서 여전히 origin/feature/login이 보인다면, git fetch --prune을 실행해 정리할 수 있습니다.


머지된 로컬 브랜치 삭제

Git은 브랜치가 merge되었다고 해서 로컬 브랜치를 자동으로 삭제하지 않습니다.
따라서 작업이 끝난 브랜치는 직접 정리해야 합니다.

현재 main 브랜치에 merge된 로컬 브랜치는 다음 명령어로 확인할 수 있습니다.

git branch --merged main | grep -v main

이 명령어는 main 브랜치에 이미 merge된 브랜치 목록을 출력합니다.
삭제하기 전에 먼저 이 명령어로 어떤 브랜치가 대상인지 확인하는 것이 안전합니다.

확인 후 실제로 삭제하려면 다음 명령어를 실행합니다.

git branch --merged main | grep -v main | xargs -n 1 git branch -d

이 명령어는 main에 merge된 브랜치 중 main 브랜치를 제외한 나머지 브랜치를 하나씩 삭제합니다.


명령어별 정리

목적 명령어

로컬 브랜치 강제 삭제 git branch -D <branch_name>
로컬 브랜치 안전 삭제 git branch -d <branch_name>
원격 브랜치 삭제 git push origin --delete <branch_name>
삭제된 원격 브랜치 정보 정리 git fetch --prune
merge된 브랜치 확인 git branch --merged main \| grep -v main
merge된 로컬 브랜치 삭제 git branch --merged main \| grep -v main \| xargs -n 1 git branch -d

정리

Git 브랜치는 작업 단위를 나누는 데 유용하지만, 사용하지 않는 브랜치를 계속 남겨두면 관리가 어려워질 수 있습니다.

브랜치를 정리할 때는 다음 순서로 진행하는 것이 좋습니다.

  1. 삭제할 브랜치가 merge되었는지 확인한다.
  2. 로컬 브랜치를 삭제한다.
  3. 필요하다면 원격 브랜치도 삭제한다.
  4. git fetch --prune으로 로컬에 남은 원격 브랜치 정보를 정리한다.

특히 여러 사람이 함께 사용하는 저장소에서는 원격 브랜치를 삭제하기 전에 해당 브랜치를 다른 사람이 사용하고 있지 않은지 확인하는 것이 좋습니다.


Reference

  • https://dev-sihyun.tistory.com/2

'Git' 카테고리의 다른 글

Git Hook으로 브랜치 이슈 번호를 커밋 메시지에 자동 추가하기  (0) 2026.05.20
'Git' 카테고리의 다른 글
  • Git Hook으로 브랜치 이슈 번호를 커밋 메시지에 자동 추가하기
hwara_
hwara_
배움의 기쁨
  • hwara_
    기록 저장소
    hwara_
  • 전체
    오늘
    어제
    • 분류 전체보기 (24)
      • 일상 (1)
        • 회고 (1)
      • 프로젝트 (0)
      • OS (2)
        • Mac (0)
        • Linux (2)
      • 클라우드 (1)
        • AWS (0)
        • CloudFlare (1)
      • Devops (10)
        • Docker (1)
        • Kubernetes (7)
        • Terraform (0)
        • GitHub Actions (2)
      • 알고리즘 (0)
      • Git (2)
      • Database (1)
      • Language (3)
        • Python (3)
      • 환경구성 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hwara_
머지된 Git 브랜치를 안전하게 정리하는 방법
상단으로

티스토리툴바