인프런 커뮤니티 질문&답변
[추가 질문] HEAD 와 COMMIT 관계가 궁금합니다.
해결된 질문
작성
·
84
·
수정됨
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 내일은 한걸음 더 나아갈거야님, Git의 HEAD와 Commit 관계에 대해 추가적인 질문을 주셨군요.
1. “git checkout HEAD^” 명령어와 분리된 HEAD
git checkout HEAD^명령어는 현재 위치의 한 커밋 이전(commit^1)으로 HEAD를 이동시키게 됩니다. 이때, 브랜치 포인터가 가리키는 커밋이 아닌 특정 커밋을 직접 가리키게 되므로 분리된 HEAD 상태가 됩니다.
2. 분리된 HEAD의 이해
- 네, 정확히 이해하신 것처럼, 분리된 HEAD란 HEAD가 브랜치를 경유하지 않고 직접 특정 커밋을 가리키는 상태를 말합니다. 이는 임시적으로 특정 커밋으로 이동하여 그 상태에서 작업을 할 때 사용됩니다.
3. 분리된 HEAD에서의 커밋 생성
- 현재 위치에 새로운 커밋: 분리된 HEAD 상태에서 새로운 커밋을 생성하게 되면, 새로운 커밋은 HEAD가 가리키고 있는 커밋 뒤에 위치합니다. 따라서 새로운 커밋이 HEAD 위치에 생성되며 이후의 커밋은 삭제되지 않고 그대로 남아 있게 됩니다.
- HEAD의 이동: 새로운 커밋을 하게 되면 HEAD는 자연히 이 새로운 커밋을 가리키게 됩니다. 이는 새로운 브랜치를 만들어서 그 브랜치에 커밋을 쌓는 것과 동일하게 취급될 수 있습니다.
- 기존 브랜치와의 관계: 이 상태에서는 그 커밋이 현재 브랜치 파생과는 연관되지 않아 현재 브랜치의 최신 커밋에는 영향을 미치지 않습니다.
이해를 돕기 위해 분리된 HEAD에 관한 이전 설명을 참고하시면 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






강사님 이건 분리된 HEAD 에도 동일한가요? 분리된 HEAD가 가리키고 있는 COMMIT 이 포함된 HEAD의 최신 COMMIT 을 기준으로 브랜치된다고 이해하면 되는 건지요?