브랜치를 삭제하는 것은 해당 브랜치 내용과 커밋을 삭제하는 것이다. 따라서 삭제 명령을 실행할 때는 주의애햐 한다. 브랜치 삭제는 크게 스테이지 상태에 따라 달라진다.
일반적인 브랜치 삭제
$ git branch -d 브랜치이름
아래와 같이 현재 자신의 브랜치에서 삭제 명령을 실행하면 오류 메세지가 출력된다. 어느 브랜치로 체크아웃 될 지 모르기 때문이다. 따라서, 삭제하고자 할 때는 다른 브랜치로 이동해서 삭제한다.
d 옵션은 스테이지 상태가 깨끗할 때만 삭제를 허용한다. 워킹 디렉토리에 작업한 기록이 있거나 add 명령어로 스테이지의 인덱스가 변경된 상태라면 삭제하지 않는다. 삭제하려면 반드시 최종 상태가 커밋되어 깨끗한 스테이지 상태여야 한다. 또한 병합되지 않은 브랜치는 d 옵션으로 삭제 할 수 없다.
강제로 브랜치 삭제
삭제하려는 브랜치의 최종 상태가 커밋되었더라도 다른 브랜치에 병합되지 않았다면 커밋이 사라질 수 있으므로 Git이 삭제를 막는다.
커밋을 보관할 필요가 없다면 D 옵션으로 강제로 삭제하면 된다.
$ git branch -d hotfix
리모트 브랜치 삭제
리모트 브랜치를 삭제하려면 먼저 삭제 명령을 푸시해야 한다.
$ git push origin --delete 리모트브랜치이름
만약, 삭제된 리모트 브랜치가 여전히 보인다면 fetch의 prune 옵션으로 삭제된 리모트 브랜치 정보의 캐시를 정리할 수 있다.
$ git fetch --prune
'Git' 카테고리의 다른 글
수정 사항 복원 중 충돌 해결 (0) | 2025.03.16 |
---|---|
수정 사항 임시 저장 (0) | 2025.03.16 |
브랜치 패치 (0) | 2025.03.13 |
원격 브랜치 (0) | 2025.03.09 |
HEAD 포인터 (0) | 2025.03.07 |