# 안전하게 로컬 브랜치 삭제
$ git branch -d <branch_name>
The -d option stands for --delete, which would delete the local branch, only if you have already pushed and merged it with your remote branches.
-d 옵션은 로컬 브랜치(Local branch) 에서 작업 후 원격 저장소(Remote branch)에 정상적으로 push 또는 merge된 로컬 브랜치를 삭제한다.
즉, 삭제하려는 브랜치에 Commit 이력이 있으나, 원격 저장소로 push 또는 merge되지 않은 로컬 브랜치는 삭제가 불가능하다.
# 강제로 로컬 브랜치 삭제
$ git branch -D <branch_name>
The -D option stands for --delete --force, which deletes the branch regardless of its push and merge status, so be careful using this one!
-D 옵션은 원격 저장소에 push를 했든 말든 무조건(--force) 로컬 브랜치를 삭제한다.
# 원격 브랜치 삭제
$ git push origin :<branch_name>
위에 2개 방법의 브랜치 삭제 명령어를 실행해도 로컬 브랜치만 삭제되고 원격 브랜치는 여전히 남아있다.
로컬 브랜치와 연결된 원격 브랜치를 삭제하기 위해서는 로컬 브랜치 삭제 후 push 명령어를 실행해주어야 한다.
# 예제
# 현재 브랜치 목록
my_project$ git branch
2019-PRJ-E016-41251
2019-PRJ-E016-41691
dev
* dev-2019
master
master-2019
# 2019_PRJ_E016_* 으로 시작하는 2개의 브랜치 삭제
my_project$ git branch -d 2019-PRJ-E016-41251 2019-PRJ-E016-41691
Deleted branch 2019-PRJ-E016-41251 (was d25db7e4).
Deleted branch 2019-PRJ-E016-41691 (was d8f2be5a).
# 2개의 브랜치 삭제 후 브랜치 목록
my_project$ git branch
dev
* dev-2019
master
master-2019
# 원격 저장소 삭제
my_project$ git push origin :2019-PRJ-E016-41251