개발 작업을 하다 보면 기능별로 수많은 브랜치를 만들게 됩니다. 작업이 끝난 브랜치들을 깔끔하게 정리하지 않으면 저장소가 금방 복잡해지죠. 오늘은 로컬과 원격 저장소에 쌓인 브랜치를 한 번에 정리하는 방법을 알려드릴게요. 깃 브랜치 삭제 터미널 명령어만 잘 알아두면 아주 쉽고 안전하게 정리할 수 있습니다. 실수 없이 브랜치를 제거하고 싶다면 꼭 확인해 보세요!
핵심 요약: 로컬 브랜치는 git branch -d로 안전하게 지우고, 원격 브랜치는 git push origin --delete 명령으로 정리합니다. 두 명령을 순서대로 실행하면 로컬, 원격, 트래킹 브랜치까지 모두 깔끔하게 처리할 수 있어요.
로컬 브랜치 삭제, 혹시 커밋을 잃을 수도 있나요?
로컬 브랜치를 지울 때 가장 먼저 확인해야 할 점은 내가 지금 삭제하려는 브랜치에 머무르고 있지 않은지 확인하는 것입니다. Git은 현재 작업 중인 브랜치는 삭제할 수 없게 막아두기 때문에, 항상 main이나 다른 브랜치로 이동한 후 삭제를 진행해야 합니다.
로컬 브랜치 삭제에는 두 가지 옵션이 있습니다. 안전하게 지우고 싶다면 -d, 강제로 지우고 싶다면 -D를 사용합니다.
| 옵션 | 설명 (어떤 때 쓰나요?) | 예시 명령어 |
|---|---|---|
| -d (Safe Delete) | 이미 메인 브랜치에 병합이 완료된 브랜치만 삭제합니다. 가장 안전한 방법이에요. | git branch -d [브랜치명] |
| -D (Force Delete) | 병합 여부와 상관없이 무조건 강제 삭제합니다. 병합되지 않은 커밋이 날아갈 수 있으니 신중하게 사용해야 합니다. | git branch -D [브랜치명] |
원격 브랜치를 지우는 깃 브랜치 삭제 터미널 명령어는 무엇일까요?
로컬 브랜치를 지웠다고 해서 원격 저장소에 있는 브랜치까지 사라지는 건 아닙니다. GitHub나 GitLab 같은 원격 저장소의 브랜치를 지우려면 git push 명령에 --delete 옵션을 추가해야 합니다.
이 명령의 장점은 원격 저장소에서 브랜치를 제거하는 동시에, 로컬에 남아있던 트래킹 브랜치(origin/[브랜치명])도 자동으로 정리해 준다는 것입니다. 불필요하게 git fetch --prune 같은 명령을 따로 실행할 필요가 없어 무척 편리합니다. 구 버전에서는 브랜치 이름 앞에 콜론(:)을 붙여 삭제하는 방식도 있었지만, 이제는 --delete를 쓰는 것이 가장 직관적이고 권장되는 방식입니다.
git push origin --delete feature/temp-branch
깃 브랜치 삭제 터미널 명령어: 로컬과 원격 브랜치 동시 제거
우리의 목표는 로컬 저장소와 원격 저장소 모두를 깨끗하게 비우는 것이죠. 가장 깔끔한 정리 흐름은 다음과 같습니다. 원격 브랜치를 먼저 지우고, 그다음 로컬 브랜치를 지우는 순서가 좋습니다.
- 1단계: 원격 브랜치 삭제
git push origin --delete feature/done - 2단계: 로컬 브랜치 삭제
git branch -d feature/done
이 두 단계를 거치면 관련된 모든 브랜치 흔적이 사라집니다. 만약 로컬 브랜치를 -d로 지우려고 할 때 ‘아직 병합되지 않았다’는 경고가 나온다면, 해당 커밋이 정말로 필요 없는지 다시 한번 확인하고 -D 옵션으로 강제 삭제를 진행해야 합니다.
대량 브랜치 삭제 및 주의해야 할 점
임시 브랜치가 너무 많아져서 여러 개를 한 번에 지워야 할 때도 있습니다. Git은 여러 브랜치 이름을 한 번에 입력하여 삭제하는 기능을 지원합니다.
하나의 명령으로 여러 개 로컬 브랜치 삭제
git branch -d temp/a temp/b temp/c
특정 패턴이 있는 브랜치(예: ‘temp-‘로 시작하는 브랜치)를 대량으로 지울 때는 grep 명령과 xargs 명령을 함께 쓰는 것이 일반적인 방법입니다. 터미널 환경에 익숙하시다면 이 방법이 훨씬 빠르고 효율적입니다.
여러 원격 브랜치 한 번에 삭제
git push origin --delete branch1 branch2 branch3
실수를 피하는 중요한 습관
저도 급하게 브랜치를 지우려다 실수로 다른 브랜치 이름을 입력해서 당황했던 적이 많습니다. 브랜치를 삭제하기 전에는 항상 git branch 명령으로 현재 위치를 확인하고, 삭제하려는 브랜치의 이름을 정확히 복사해서 붙여 넣는 습관을 들이는 것이 좋습니다. 특히 팀 프로젝트에서는 중요한 브랜치 삭제 전에 팀원들과 소통하는 것이 필수입니다.
브랜치 삭제 후에는 git branch -a 명령으로 로컬과 원격의 브랜치 목록을 모두 확인하여 정말 깔끔하게 정리가 되었는지 최종적으로 점검해 보세요. 만약 실수로 브랜치를 지웠더라도, 커밋 해시가 남아있다면 복구할 수 있으니 너무 염려하지 않으셔도 됩니다.
자주 묻는 질문
병합 안 된 브랜치도 강제로 지워야 하나요?
-D 옵션을 쓰면 강제 삭제되지만, 커밋 손실 가능성이 있으니 주의하세요.
원격 브랜치만 삭제하면 로컬은 어떻게 되나요?
원격은 지워지고, 로컬 트래킹 브랜치도 함께 정리됩니다.
깃 브랜치 삭제 터미널 명령어, 가장 안전하게 쓰는 팁은요?
삭제 전 현재 브랜치를 꼭 확인하고, -d 옵션을 주로 사용하세요.
오늘 알려드린 깃 브랜치 삭제 터미널 명령어를 잘 활용하셔서 여러분의 Git 저장소를 항상 깨끗하고 효율적으로 관리하시길 바랍니다. 안전한 개발 환경을 만드는 데 이 정보가 도움이 되었으면 좋겠습니다!