로컬 및 원격에서 Git 브랜치를 삭제하는 방법
로컬 브랜치와 해당 원격 복사본은 서로 다른 두 가지입니다. 각 항목을 삭제하는 방법, 일반적인 오류의 의미, 오래된 참조를 정리하는 방법, 실수로 삭제한 분기를 복구하는 방법은 다음과 같습니다.
작성자: Kodmora
GitTree 뒤에 있는 소프트웨어 하우스
- 브랜치
- 리모트 및 푸시
- 실행 취소 및 복구
이 페이지에서
로컬 분기를 삭제하려면 `git branch -d branch-name`을 실행하세요. 원격 저장소에서 삭제하려면 `git push origin --delete branch-name`을(를) 실행하세요. 이는 별도의 작업입니다. 하나를 삭제하면 다른 하나는 그대로 유지됩니다. Git은 브랜치에 병합되지 않은 커밋이 있는 경우 첫 번째 명령을 거부하여 작업을 보호합니다.
| 목표 | 명령 |
|---|---|
| 병합된 로컬 분기 삭제 | git branch -d feature/search |
| 병합되지 않은 로컬 브랜치 강제 삭제 | git branch -D feature/search |
| 원격에서 분기 삭제 | git push origin --delete feature/search |
| 오래된 원격 추적 참조 제거 | git fetch --prune |
로컬 Git 브랜치를 어떻게 삭제하나요?
Git은 현재 있는 브랜치를 삭제하지 않으므로 먼저 전환하세요. 그런 다음 삭제하십시오.
git switch main
git branch -d feature/searchGit은 브랜치의 마지막 커밋을 인쇄합니다. 가장 쉬운 방법이므로 해당 해시를 잠시 유지하세요.
Deleted branch feature/search (was 4f2a9c1).원격 브랜치를 어떻게 삭제하나요?
git push origin --delete feature/search이렇게 하면 해당 원격 저장소를 사용하는 모든 사람의 분기가 제거되므로 아직 이를 필요로 하는 사람이 없는지, 끌어오기 요청이 닫혔는지 확인하세요. 로컬 복사본도 삭제할 때까지 그대로 유지됩니다.
삭제 오류는 무엇을 의미하나요?
| 메시지 | 의미 | 수정 |
|---|---|---|
not fully merged | 브랜치에 업스트림이나 HEAD에 없는 커밋이 있습니다. | 병합하거나 필요하지 않다고 확신하는 경우 -D을(를) 사용하세요. |
cannot delete branch … used by worktree | 당신은 여기 또는 다른 작업 트리에 있습니다. | git switch main을(를) 실행하거나 다른 작업 트리를 제거하세요. |
remote ref does not exist | 브랜치가 이미 원격에서 사라졌습니다. | 오래된 복사본을 지우려면 git fetch --prune을 실행하세요. |
git 원격 정리 원본은 무엇을 합니까?
누군가 원격에서 브랜치를 삭제하면 저장소는 이를 제거할 때까지 해당 브랜치를 origin/feature/search 참조로 유지합니다. 정리하면 오래된 참조가 삭제됩니다. 귀하의 로컬 브랜치에는 절대 영향을 미치지 않습니다.
git fetch --prune
# or, without fetching anything new
git remote prune origin원격 복사본이 손실된 로컬 브랜치를 확인하려면 자세한 목록에서 gone를 찾으세요.
git branch -vv삭제된 분기를 어떻게 다시 복구하나요?
브랜치는 커밋의 이름일 뿐이므로 삭제해도 커밋이 바로 삭제되지는 않습니다. 인쇄된 Git 해시에서 이름을 다시 생성하거나 reflog에서 찾으세요.
git branch feature/search 4f2a9c1
# no hash? search the reflog
git reflog빨리 수행하십시오. 도달할 수 없는 커밋은 결국 가비지 수집을 통해 정리됩니다. 삭제된 숨김 또는 삭제된 브랜치 복구에 대한 게시물에서는 더 어려운 사례를 다루고, 브랜치 및 전환 강의에서는 브랜치가 왜 그렇게 저렴한지 설명합니다.
GitTree에서 분기를 삭제하는 방법
브랜치 메뉴 열기
그래프에서 분기 레이블을 마우스 오른쪽 버튼으로 클릭합니다. 메뉴는 각 작업의 분기 이름을 지정합니다.
삭제를 선택하세요
GitTree는 제거된 내용과 마지막 커밋이
refs/ogt/trash에 저장되었음을 나타냅니다. 취소가 기본값이므로 기능/검색 삭제를 눌러 확인하세요.원격 복사본도 삭제
Delete … 및 Origin/…은 둘 다 제거하고 Delete Both로 확인됩니다. 원격 저장소에서 삭제된 분기는 GitTree에서 다시 가져올 수 없습니다.
마음이 바뀌었나요?
분기를 다시 가져오려면 로컬 삭제 직후 툴바에서 실행 취소를 누르세요.
브랜치 이름 바꾸기 및 삭제 가이드에 자세한 내용이 있으며, 브랜치 이름 바꾸는 방법에서는 대신 이름 변경을 다룹니다.

자주 묻는 질문
브랜치를 삭제하면 커밋도 삭제되나요?
당장은 아닙니다. 다른 브랜치에 대한 커밋은 그대로 유지됩니다. 해당 분기에서만 커밋할 수 없게 되며 가비지 수집으로 제거될 때까지 복구할 수 있습니다.
git Branch -d와 -D의 차이점은 무엇입니까?
-d은(는) 병합되지 않은 커밋이 있는 브랜치 삭제를 거부합니다. -D는 어쨌든 삭제하므로 확실한 경우에만 사용하세요.
로컬 분기를 삭제하면 원격 분기도 삭제되나요?
아니요. 별개입니다. 원격 저장소에는 git push origin --delete branch-name을(를) 사용하세요.
삭제된 원격 브랜치가 여전히 나타나는 이유는 무엇입니까?
귀하의 저장소에는 여전히 원격 추적 참조가 있습니다. 제거하려면 git fetch --prune을 실행하세요.
한 번에 여러 브랜치를 삭제할 수 있나요?
예. git branch -d one two three는 나열된 각 이름을 삭제하고 git push origin --delete one two는 원격 저장소에서도 동일한 작업을 수행합니다.
출처
다른 제품에 대한 주장은 2026년 11월 7일의 공식 페이지에서 확인되었습니다. 가격과 기능은 변경됩니다. 공급업체 페이지가 진실의 원천입니다.