관리 메뉴

나만의공간

Git 로컬 브랜치 feature 일괄삭제 본문

IT/Git

Git 로컬 브랜치 feature 일괄삭제

밥알이 2025. 7. 10. 06:31

Git 로컬 브랜치 feature 하위 일괄 삭제하는 가장 쉬운 방법 💻

로컬 Git 저장소에서 feature 브랜치 하위 항목을 한 번에 삭제하는 방법, 명령어와 주의사항까지 한 번에 정리해 드립니다!


왜 feature/ 브랜치를 일괄 삭제해야 할까?

Git을 사용하다 보면 feature/로그인, feature/결제, feature/이벤트처럼 여러 개의 작업용 브랜치를 만들게 됩니다. 하지만 일정이 끝나거나 머지가 완료된 후에도 브랜치를 그대로 두면 로컬 브랜치 목록이 복잡해지고 불필요한 브랜치가 계속 쌓이게 되죠. 😅

이럴 땐 특정 네이밍으로 시작되는 브랜치를 한 번에 삭제하는 게 훨씬 효율적입니다. 바로 오늘의 주제인 Git 로컬 브랜치 feature/ 하위 일괄 삭제 방법입니다.


Git 로컬 브랜치 목록 확인 방법

브랜치 목록을 보는 명령어

git branch

현재 로컬에 존재하는 모든 브랜치를 보여줍니다. feature/로 시작하는 브랜치가 많은 경우 아래처럼 나타납니다.


  develop
* main
  feature/login
  feature/event
  feature/payment

feature/ 하위 브랜치만 일괄 삭제하는 명령어

명령어 한 줄 요약


git branch | grep 'feature/' | xargs git branch -d

이 명령어는 다음과 같은 과정을 거칩니다:

  1. git branch: 전체 로컬 브랜치 목록 출력
  2. grep 'feature/': feature/로 시작하는 브랜치만 필터링
  3. xargs git branch -d: 필터링된 브랜치를 순차적으로 삭제
  • ✔️ 병합된 브랜치만 삭제됨 (-d: delete safely)
  • ⚠️ 병합되지 않은 브랜치는 삭제되지 않음

병합 여부와 관계없이 강제 삭제하고 싶다면?

-D 옵션 사용


git branch | grep 'feature/' | xargs git branch -D
  • ✔️ 병합 여부와 관계없이 무조건 삭제
  • ⚠️ 실수로 중요한 브랜치까지 삭제될 수 있으니 주의!

현재 사용 중인 브랜치는 삭제 안 돼요!

위 명령어는 현재 체크아웃(선택)된 브랜치를 삭제할 수 없습니다. 즉, 현재 브랜치가 feature/login이라면 해당 브랜치는 삭제되지 않습니다.

따라서 삭제 작업 전에는 main 또는 develop 같은 기준 브랜치로 먼저 이동해 주세요.


git checkout main
  • ✔️ 브랜치 삭제 전에는 안전한 브랜치로 전환

일괄 삭제 전 확인만 하고 싶다면?

브랜치를 삭제하기 전에 어떤 feature 브랜치가 삭제 대상인지 미리 확인하고 싶다면 다음 명령어를 사용해 보세요.


git branch | grep 'feature/'

이 명령어는 단순히 리스트만 보여주므로, 삭제 여부를 판단하는 데 도움이 됩니다.


보너스: 리모트(origin) 브랜치는 따로 삭제해야 해요

로컬에서 삭제한 브랜치는 원격 저장소(origin)에는 그대로 남아 있습니다. 리모트 브랜치까지 삭제하려면 아래 명령어를 사용하세요.

리모트 브랜치 삭제


git push origin --delete feature/login

여러 개의 리모트 브랜치를 삭제하려면 반복적으로 입력하거나 스크립트를 활용해야 합니다. 회사나 팀에서 브랜치 정책이 있다면 반드시 동의 후 삭제하세요.


정리: Git 로컬 브랜치 일괄 삭제 꿀팁 😊

  • ✔️ git branch | grep 'feature/' | xargs git branch -d : 병합된 브랜치만 삭제
  • ✔️ git branch | grep 'feature/' | xargs git branch -D : 강제 삭제
  • ⚠️ 삭제 전에는 항상 브랜치 리스트를 확인하세요
  • ⚠️ 현재 브랜치에서는 삭제 명령이 실행되지 않아요

마무리: 깔끔한 Git 브랜치 정리로 협업 효율 UP!

작업이 끝났다면 브랜치를 정리하는 습관이 중요합니다. 불필요한 feature 브랜치를 쌓아두면 협업자도 혼란스럽고, 커밋 이력도 복잡해져요. 오늘 알려드린 명령어로 깔끔하게 로컬 브랜치를 정리해 보세요!

지금 터미널 열고, Git 브랜치부터 정리해보는 건 어떨까요?

Git 브랜치는 ‘삭제’가 아니라 ‘관리’입니다 💡
Comments