| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- junit5
- 자바스크립트
- 자바문법
- js
- javascript
- list
- SpringBoot
- ArrayList
- Eclipse
- 자바
- 단위테스트
- IntelliJ
- Visual Studio Code
- 배열
- vscode
- html
- Java
- CSS
- java테스트
- 문자열
- junit
- 스프링부트
- 인텔리제이
- Array
- math
- string
- 정규식
- HashMap
- input
- 테스트자동화
- Today
- Total
어제 오늘 내일
[Git] 다 쓴 브랜치 정리하기! 로컬 & 원격 브랜치 삭제 방법 본문
프로젝트를 진행하다 보면 기능 추가(feature), 버그 수정(hotfix) 등으로 인해 수많은 브랜치(Branch)가 생겨나게 됩니다. 할 일을 다 마친 브랜치를 방치하면 나중에 "feature-login이 최신인가? 아니면 feature-login-new가 최신인가?" 하며 헷갈리는 순간이 오죠.
이번 포스팅에서는 다 쓴 브랜치를 깔끔하게 삭제하는 방법을 로컬(Local)과 원격(Remote)으로 나누어 완벽하게 정리해 드리겠습니다.
브랜치 삭제는 크게 내 컴퓨터에 있는 '로컬 브랜치'와 GitHub 같은 서버에 있는 '원격 브랜치' 삭제로 나뉩니다. 명령어 한 줄이면 프로젝트가 훨씬 쾌적해집니다!
1. 로컬(Local) 브랜치 삭제하기
내 컴퓨터에 저장된 브랜치를 지우는 방법입니다. Git은 안전을 위해 두 가지 옵션을 제공합니다.
① 일반 삭제 (-d 옵션)
가장 권장하는 방법입니다. 해당 브랜치의 내용이 메인 브랜치에 이미 병합(Merge)된 경우에만 삭제를 허용합니다.
$ git branch -d <브랜치명>
- 특징: 만약 병합되지 않은 코드가 남아있다면, Git이 "아직 병합 안 됐는데 지울 거야?"라며 에러 메시지를 띄우고 삭제를 막습니다. (안전장치)
② 강제 삭제 (-D 옵션)
병합 여부와 상관없이 무조건 삭제합니다.
$ git branch -D <브랜치명>
- 주의: 대문자
-D를 사용합니다. 아직 메인 코드에 반영되지 않은 작업 내용이 영원히 사라질 수 있으므로, "이 브랜치는 필요 없어!"라고 확신할 때만 사용하세요.
💡 팁: 현재 내가 사용 중인(Checkout 된) 브랜치는 삭제할 수 없습니다. 다른 브랜치(예:
main등)로 이동한 뒤 삭제 명령을 내려주세요!
2. 원격(Remote) 브랜치 삭제하기
로컬에서 브랜치를 지웠다고 해서 GitHub에 올라간 브랜치까지 자동으로 지워지진 않습니다. 원격 저장소의 브랜치를 지우려면 push 명령어를 응용해야 합니다.
$ git push origin --delete <브랜치명>
- 해석: "원격 저장소(origin)에 있는
<브랜치명>을 삭제(--delete)해 줘!" 라는 뜻입니다.
3. 보너스 팁: 찌꺼기 정리하기 (prune)
GitHub 페이지에서 직접 브랜치를 삭제했는데, 내 컴퓨터에서 git branch -r (원격 브랜치 목록 보기)을 치면 여전히 그 브랜치가 남아있는 경우가 있습니다.
이때는 '가지치기(Prune)' 명령어로 원격 저장소와 내 컴퓨터의 정보를 동기화해 줍니다.
$ git fetch --prune
- 효과: 원격 저장소에서 이미 사라진 브랜치 정보를 내 로컬 목록에서도 깔끔하게 지워줍니다.
💡 한눈에 보는 요약
| 상황 | 명령어 | 비고 |
| 안전하게 로컬 삭제 | git branch -d [이름] |
병합 안 됐으면 경고함 |
| 강제로 로컬 삭제 | git branch -D [이름] |
묻지도 따지지도 않고 삭제 |
| 원격(GitHub) 삭제 | git push origin --delete [이름] |
서버에서 삭제됨 |
| 목록 동기화 | git fetch --prune |
죽은 브랜치 목록 정리 |
마치며
방 청소를 하듯, 개발 프로젝트도 주기적으로 브랜치를 정리해 주어야 유지보수가 쉬워집니다. 오늘 배운 명령어들로 묵은 브랜치들을 시원하게 날려버리시는 건 어떨까요?
'IT > Git' 카테고리의 다른 글
| [Git] 알짜배기 커밋만 쏙! 골라오는 Cherry-pick 완벽 가이드 (0) | 2026.03.08 |
|---|---|
| [Git] 지저분한 커밋 내역 하나로 합치기 (Squash 완벽 가이드) (0) | 2026.03.07 |
| [Git] 커밋을 되돌리고 싶을 때! Reset vs Revert 완벽 정리 (0) | 2026.03.06 |
| [Git] 방금 한 커밋 되돌리기: git commit --amend 완벽 활용법 (0) | 2026.03.06 |
| [Git] 아차! 실수했다... 커밋 메시지 수정하는 법 (0) | 2026.03.05 |
