HEAD 와 COMMIT 관계가 궁금합니다.
만약 REPOSITORY 내의 HEAD 의 위치를 최신 COMMIT 보다 아래에 위치 시켰을 때, 강사님의 설명에 의하면 WORKING AREA 의 내용도 HEAD 의 위치의 내용으로 변경된다고 학습했습니다.
이 상태에서 커밋을 하게 되면 커밋되는 내용은 최신 COMMIT 을 기준으로 하는지 HEAD를 기준으로 하는지 궁금합니다.
아울러 브랜치도 최신 commit 을 기준으로 생성되는지 또는 HEAD 의 위치를 기준으로 생성되는지 궁급합니다.
좋은 강의 감사합니다.
답변 2
0
안녕하세요, 한걸음 더 나아갈거야 님:)
좋은 말씀 감사드립니다!
질문 주신 내용 답변드립니다.
(참고로, 지금의 상태를 분리된 HEAD 상태라고 부는데요.!)
이 상태에서 커밋을 새롭게 만들게 되면, 그 커밋은 HEAD를 기준으로 생성됩니다.
그래서, 아래와 같은 커밋 히스토리가 완성됩니다.

추가적으로 궁금하신 부분이 있다면, 언제든 질문 주세요!
0
안녕하세요, 인프런 AI 인턴입니다. 내일은 한걸음 더 나아갈거야님, Git의 HEAD와 Commit 관계에 대해 질문 주셨군요.
HEAD와 커밋의 관계
Git에서 HEAD는 현재 체크아웃된 브랜치의 최신 커밋을 가리킵니다. HEAD가 특정 커밋을 가리키도록 되돌아갔을 경우, 이는 분리된 HEAD 상태가 됩니다. 이 상태에서는 HEAD가 최신 커밋을 가리키지 않고 특정 커밋을 가리키게 됩니다.
커밋 내용 결정
HEAD 기준 커밋:
- 이동된
HEAD위치에서 커밋하면, 그 시점의 파일 상태를 기준으로 새 커밋이 생성됩니다.
- 즉, 작업 영역(Working Area)의 내용이 해당 커밋 시점의 상태라면,
HEAD가 위치한 그 시점의 내용이 커밋됩니다.
- 이동된
브랜치 상태:
- 만약 분리된 HEAD 상태에서 커밋을 만든다면, 이 커밋은 현재의 브랜치에 속하지 않고 ‘Detached HEAD’ 상태로 남습니다. 후속 조치(예: 새로운 브랜치를 생성하거나 다른 브랜치에 병합)를 취하지 않으면 이 변경사항이 유실될 수 있습니다.
- 만약 분리된 HEAD 상태에서 커밋을 만든다면, 이 커밋은 현재의 브랜치에 속하지 않고 ‘Detached HEAD’ 상태로 남습니다. 후속 조치(예: 새로운 브랜치를 생성하거나 다른 브랜치에 병합)를 취하지 않으면 이 변경사항이 유실될 수 있습니다.
분리된 HEAD 상태에서 작업하고 싶으시면, 이후 새 브랜치를 만들어 커밋을 관리하는 것이 좋습니다.
유사한 개념에 대해 더 살펴보고 싶으시다면 다음 링크를 참고하세요:
- Git에서 분리된 HEAD 상태 이해하기
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
깃헙 작업 완료된 develop 브랜치 질문
0
77
2
[질문] git-flow 에서 release 브랜치 생성
0
57
1
upstream연결하기
0
76
2
gitignore관련 질문
0
86
2
staging area
0
84
2
브랜치 병합 전략에 대한 지식공유자님의 생각이 궁금합니다.
0
97
1
git pull merge 요청 시 draft
0
167
2
rebase 와 3-way merge 의 근본적인 차이
0
98
2
문서가 락이 걸어져있네요.
0
76
1
vscode에서의 github로의 푸시
0
103
2
Git 머지 커밋 되돌리기(revert)와 머지 방식 선택의 안전성 질문
0
141
2
git add 동작 원리에 대한 질문
0
65
2
git flow 문의
0
113
2
git rebase 질문
0
99
2
[추가 질문] 똑같은 브랜치를 다시 pull request하는 경우.
0
169
2
pull request 취소하기
0
692
2
.gitignore
0
78
2
Commit 메시지 변경 방법
0
432
2
switch 와 checkout 차이점.
0
297
1
강의자료 누락, commit 복사질문
0
153
4
강의 교재 다운로드
0
103
1
git init에서 오류 발생
0
282
2
[추가 질문] HEAD 와 COMMIT 관계가 궁금합니다.
0
105
2
github 협업 내용 관련 질문 있습니다
0
92
2





