welcome to sisi's space! ‎ε(*⌒▽⌒)੭*゚¨゚゚・*:..☆

Dev & Study

[git] 브랜치 삭제가 안 될 때: `error: cannot delete branch used by worktree` 해결 방법

Sisi_ 2026. 3. 5. 00:28

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 제거

그다음 브랜치를 삭제하면 된다.