detached HEAD는 HEAD가 branch가 아닌 commit을 직접 가리킬 때 발생합니다. 특정 commit, tag, 또는 remote commit을 checkout할 때 일어나는 정상 상태(오류가 아님)이지만, 그 상태에서 commit하면 작업을 잃을 위험이 있으므로 이해하는 것이 중요합니다.
HEAD가 보통 가리키는 것
보통: HEAD → branch(예: main) → commit
→ commit하면 branch 포인터가 전진하고 HEAD가 따라감
detached: HEAD → commit을 직접 가리킴(branch를 통하지 않음)
→ "어떤 branch에도 있지 않음" — 특정 commit을 보는 중
detached HEAD가 언제 발생하나
git checkout <commit-hash>
git checkout v1.0.0
git checkout origin/main
