반응형
문제
git 사용 도중 브랜치가 Detached Head되고 원격 저장소에 커밋이 올라가지 않는 현상이 발생하였다.
원인
Detached HEAD는 Git에서 특정한 커밋에 직접적으로 체크아웃을 했을 때 발생하는 상태를 말합니다.
일반적으로 Git에서는 브랜치를 통해 작업을 진행하며, 이 브랜치는 해당 커밋을 가리키는 포인터 역할을 합니다.
하지만 브랜치가 아닌 특정 커밋의 해시값으로 체크아웃을 하게 되면, HEAD가 더 이상 브랜치를 가리키지 않고 특정 커밋을 직접 가리키게 됩니다. 이렇게 되면 'Detached HEAD' 상태가 됩니다.
Detached HEAD 상태에서는 새로운 커밋을 만들어도 브랜치가 이를 가리키지 않기 때문에, 해당 커밋을 잃어버릴 수 있습니다.
따라서 임시적으로 어떤 커밋을 확인하고 싶을 때 이용하되, 여기에서 새로운 개발을 진행하는 것은 권장하지 않습니다.
새로운 작업을 진행하려면 새로운 브랜치를 만들어 그곳에서 작업하는 것이 좋습니다.
해결
해당 브랜치를 사용하지 않고 아래의 명령어를 통하여 나와야 한다.
$ git checkout -b <new branch name>
새로운 브랜치를 생성하여 탈출해야 한다.
반응형