git을 사용할 때 add와 commit 까진 실행이 잘 되는데 다음과 같이 detached HEAD 문제로 push 가 안 될 때 해결 방법을 정리하였습니다.
1  | D:\project\Study\react> git push  | 
Detached Head 란, 말 그대로 head가 (branch로부터) 떨어져 있는 상태를 뜻한다.
즉, branch 를 통해서가 아니라 직접 다이렉트로 commit을 참조하고 있는 상태를 뜻한다.
git branch 명령어를 사용하여 살펴보니 지금 현재 브랜치는 HEAD detached from bdcfe3d8 로 설정되어 있습니다.
1  | D:\project\Study\react> git branch -a  | 
해결 방법
임시로 새로운 브랜치를 만들어 main 브랜치와 병합하여 해결하는 방법입니다.
브랜치 생성
현재 Head 분기를 참조하게끔 임시 브랜치를 생성합니다.
1  | git branch temp  | 
또는
1  | -b 명령어 사용  | 
이렇게 하면 temp 라는 브랜치가 만들어지고, temp로 checkout을 하게 됩니다.
master 브랜치로 이동
1  | git checkout master  | 
병합
새로운 브랜치와 master 브랜치를 병합합니다.
1  | git merge temp  | 
새로운 브랜치 삭제
임시로 만든 temp 라는 브랜치를 삭제합니다.
1  | git branch -d temp  | 
push
마지막으로 push 를 실행하면 됩니다.
1  | git push  | 
push를 실행했을 때 다음과 같이 내용이 보이면 git push --set-upstream origin master 명령어를 사용해서 기본 브랜치를 설정합니다.
1  | D:\project\Study\react> git push  |