Menu
Coddy logo textTech

Git: 로컬 브랜치 삭제하기

마지막 업데이트

브랜치의 작업이 병합되면 git branch -d <branch>로 삭제합니다. 브랜치에 어디에도 병합되지 않은 커밋이 있으면 Git은 삭제를 거부합니다 - 안전 장치입니다. 그래도 삭제하려면 대문자 -D를 사용하세요. 로컬 브랜치를 삭제해도 원격의 사본에는 전혀 영향을 주지 않습니다. 그것은 별도의 명령입니다.

이것들을 터미널 플레이그라운드에서 실행해 보세요 - 브라우저 안의 진짜 셸이며, 설치할 것이 없습니다.

git branch -d는 브랜치 포인터만 지웁니다. 병합된 커밋은 main의 히스토리에 남습니다.

문법

CommandWhat it does
git branch -d featurefeature 삭제 (병합된 경우에만)
git branch -D feature병합되지 않았더라도 feature 강제 삭제
git branch -d branch1 branch2여러 브랜치를 한 번에 삭제

흔한 경우

GoalCommand
병합된 브랜치 삭제git branch -d old-feature
병합되지 않은 브랜치 강제 삭제git branch -D scratch
현재 있는 브랜치 삭제git switch maingit branch -d feature
어떤 브랜치가 병합되었는지 확인git branch --merged

실습 예제

기능을 완성하고 병합한 뒤 로컬 브랜치를 정리합니다.

StepCommandResult
1git switch main삭제하려는 브랜치에서 벗어나기
2git merge feature기능의 커밋을 main으로 가져오기
3git branch -d feature이제 병합된 브랜치 삭제

Git 로컬 브랜치 삭제 자주 묻는 질문

git branch -d와 -D의 차이는 무엇인가요?
-d는 안전한 삭제입니다. Git은 브랜치의 커밋이 이미 다른 브랜치에 병합된 경우에만 브랜치를 제거하므로 실수로 작업을 잃지 않습니다. -D는 강제 삭제(--delete --force의 축약형)로, 병합되지 않은 커밋이 있더라도 무조건 브랜치를 제거합니다. 기본적으로 -d를 사용하고, 브랜치의 커밋을 정말로 버리고 싶다고 확신할 때만 -D를 사용하세요.
현재 있는 브랜치를 삭제하려면 어떻게 하나요?
체크아웃된 브랜치는 삭제할 수 없습니다. 먼저 git switch main(또는 git checkout main)으로 다른 브랜치로 전환한 다음 git branch -d feature를 실행하세요. 현재 브랜치를 삭제하려고 하면 Git은 "Cannot delete branch ... checked out" 오류를 냅니다.
로컬 브랜치를 삭제하면 GitHub에서도 삭제되나요?
아니요. git branch -d는 브랜치를 로컬 저장소에서만 제거합니다. 원격(GitHub, GitLab 등)의 브랜치는 git push origin --delete feature로 별도로 삭제할 때까지 남아 있습니다.
삭제한 브랜치를 복구할 수 있나요?
보통은 가능합니다. 최근에 삭제했다면요. git reflog를 실행해 브랜치가 가리키던 커밋을 찾은 다음 git branch feature <commit-hash>로 다시 만드세요. 커밋은 즉시 가비지 컬렉션되지 않으므로, 실수로 삭제한 브랜치는 대개 복원할 수 있습니다.
이것을 온라인에서 연습할 수 있나요?
네. 터미널 플레이그라운드를 열면 이 명령들을 브라우저 안의 진짜 셸에서 실행할 수 있습니다 - 설치할 것이 없습니다. 체계적으로 배우고 싶다면, Coddy의 무료 인터랙티브 Git 강좌가 첫 커밋부터 브랜칭과 병합까지 단계별로 안내합니다.
Coddy programming languages illustration

Coddy로 Git 배우기

시작하기