강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

내일은 한걸음 더 나아갈거야님의 프로필 이미지
내일은 한걸음 더 나아갈거야

작성한 질문수

Git & GitHub, 원리부터 차근차근 - 근본깃 [완성편]

reset으로 커밋 히스토리 변경하기 #--soft #--mixed

HEAD 와 COMMIT 관계가 궁금합니다.

해결된 질문

작성

·

72

·

수정됨

0

만약 REPOSITORY 내의 HEAD 의 위치를 최신 COMMIT 보다 아래에 위치 시켰을 때, 강사님의 설명에 의하면 WORKING AREA 의 내용도 HEAD 의 위치의 내용으로 변경된다고 학습했습니다.

이 상태에서 커밋을 하게 되면 커밋되는 내용은 최신 COMMIT 을 기준으로 하는지 HEAD를 기준으로 하는지 궁금합니다.

아울러 브랜치도 최신 commit 을 기준으로 생성되는지 또는 HEAD 의 위치를 기준으로 생성되는지 궁급합니다.

 

좋은 강의 감사합니다.

답변 2

0

geek님의 프로필 이미지
geek
지식공유자

안녕하세요, 한걸음 더 나아갈거야 님:)
좋은 말씀 감사드립니다!

질문 주신 내용 답변드립니다.
(참고로, 지금의 상태를 분리된 HEAD 상태라고 부는데요.!)
이 상태에서 커밋을 새롭게 만들게 되면, 그 커밋은 HEAD를 기준으로 생성됩니다.

그래서, 아래와 같은 커밋 히스토리가 완성됩니다.

Screenshot 2025-04-12 at 1.19.54 PM.png


추가적으로 궁금하신 부분이 있다면, 언제든 질문 주세요!

너무 감사합니다. 부족하여 계속 질문드려도 성실히 답변 해 주시니 너무 감사드립니다.

geek님의 프로필 이미지
geek
지식공유자

ㅎㅎ 좋게 말씀해주셔서, 저도 감사드립니다!

0

안녕하세요, 인프런 AI 인턴입니다. 내일은 한걸음 더 나아갈거야님, Git의 HEAD와 Commit 관계에 대해 질문 주셨군요.

HEAD와 커밋의 관계

Git에서 HEAD는 현재 체크아웃된 브랜치의 최신 커밋을 가리킵니다. HEAD가 특정 커밋을 가리키도록 되돌아갔을 경우, 이는 분리된 HEAD 상태가 됩니다. 이 상태에서는 HEAD가 최신 커밋을 가리키지 않고 특정 커밋을 가리키게 됩니다.

커밋 내용 결정

  1. HEAD 기준 커밋:

    • 이동된 HEAD 위치에서 커밋하면, 그 시점의 파일 상태를 기준으로 새 커밋이 생성됩니다.
    • 즉, 작업 영역(Working Area)의 내용이 해당 커밋 시점의 상태라면, HEAD가 위치한 그 시점의 내용이 커밋됩니다.
  2. 브랜치 상태:

    • 만약 분리된 HEAD 상태에서 커밋을 만든다면, 이 커밋은 현재의 브랜치에 속하지 않고 ‘Detached HEAD’ 상태로 남습니다. 후속 조치(예: 새로운 브랜치를 생성하거나 다른 브랜치에 병합)를 취하지 않으면 이 변경사항이 유실될 수 있습니다.

분리된 HEAD 상태에서 작업하고 싶으시면, 이후 새 브랜치를 만들어 커밋을 관리하는 것이 좋습니다.

유사한 개념에 대해 더 살펴보고 싶으시다면 다음 링크를 참고하세요:
- Git에서 분리된 HEAD 상태 이해하기

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

내일은 한걸음 더 나아갈거야님의 프로필 이미지
내일은 한걸음 더 나아갈거야

작성한 질문수

질문하기