git 브랜치 삭제할때 가끔 나오는 에러
error: cannot delete branch '{branch-name}' used by worktree at '/Users/me/Desktop/myrepo'
삭제하려는 브랜치가 현재 worktree에서 체크아웃된 상태라서 삭제할 수 없다는 뜻이다.
왜 이런 에러가 뜨는 걸까?
Git은 현재 체크아웃된 브랜치를 삭제하지 못하게 막아둔다. 일종의 안전장치이다..
특히 git worktree를 쓰는 경우, 하나의 저장소에 여러 작업 디렉토리가 연결될 수 있는데, 그 중 하나라도 해당 브랜치를 사용 중이면 삭제가 안 된다.
used by worktree at '/Users/me/Desktop/myrepo'
에러 메시지에서 이 부분을 보면, 저 경로의 worktree에서 {branch-name} 브랜치를 현재 사용 중이라는 뜻이다.
해결 방법
1. 다른 브랜치로 이동
git checkout main
# or
git switch main
2. 브랜치 삭제
git branch -d fix/3058-display-kit-name-on-console # -d: safe delete
# merge가 안된 상태라서 경고가 뜬다면 강제로 삭제할 수 있음
git branch -D fix/3058-display-kit-name-on-console # -D: force delete
worktree를 사용 중이라면?
git worktree를 사용 중이라면, 해당 브랜치를 사용하는 worktree를 먼저 제거해야 할 수도 있다.
git worktree list # worktree 목록 확인
git worktree remove <path> # 특정 worktree 제거
그다음 브랜치를 삭제하면 된다.
'Dev & Study' 카테고리의 다른 글
| [RN] React인데 왜 window가 없지? DOM API와 런타임 환경 (0) | 2026.03.05 |
|---|---|
| 맥 개발환경 세팅, .zshrc 파일 확인하기, export로 환경변수 설정 방법 (1) | 2026.03.04 |
| [javascript] Epoch time이란, 현재 Epoch time 얻는 법 (0) | 2026.03.03 |
| [npm] npm uninstall, 패키지 제거 방법 (0) | 2026.03.03 |
| [Next.js] App Router에서 "use client"란 (0) | 2026.03.03 |