Ga0Lee

[Spring Boot] IntelliJ GUI를 이용한 Git 사용 중 Detached Head 발생 본문

Spring Boot

[Spring Boot] IntelliJ GUI를 이용한 Git 사용 중 Detached Head 발생

가영리 2024. 11. 18. 11:26

인텔리제이에서 GUI로 커밋을 하려니 commit anyway, commit & push 라는 옵션과 함께 아래와 같은 WARNING이 발생한다.

The repository is in the detached HEAD state: {프로젝트 로컬 주소} More about detached HEAD

이는 git에서 현재 작업 중인 “브랜치”가 아니라 특정 “커밋”에 붙어있는 상태를 의미한다. 즉 브랜치가 아닌 커밋으로 체크아웃한 상태임을 뜻한다.

내가 이런 상황이 발생한 이유는 GUI를 사용하면서 커밋 이력을 더블 클릭하여 체크아웃이 된 상태로 작업을 했기 때문이다.

일단 내가 작업한 상황을 잃어버리면 안 되니까 “commit anyway”를 하여 작업한 상황을 커밋한다. (특정 커밋에 내가 작업한 이력을 커밋한 상태)

아래의 명령어를 입력하여 작업할 브랜치를 현재 HEAD의 커밋 위치로 강제 이동시킨다.

git  branch -f [작업할 브랜치] HEAD

이렇게 하면 해당 브랜치가 새 커밋을 가리키게 되고, 기존 브랜치 히스토리는 유지된다.

해당 결과가 잘 적용됐는지 확인한다.

git log --oneline --graph        
* c893ff7 (HEAD, pushSend) fix: [커밋 메세지]
* f339640 feat : [커밋 메세지]

그러나 아직 현재 HEAD는 특정 커밋을 가리키고 있기 때문에 브랜치로 이동한다.

git checkout [작업할 브랜치]