우리는 마스터로 브랜치를 이동하고 git history를 해볼 것이다.

스크린샷 2022-08-17 오후 7.12.14.png

그런데 여기서 head가 master branch를 가리키고 있다. 일단 HEAD는 어떤 커밋을 가리키는 존재라고 배웠다.

스크린샷 2022-08-17 오후 7.12.53.png

과연 HEAD와 브랜치와의 관계는 어떻길래 화살표로 가리키고 있는걸까? 한번 알아보자.

스크린샷 2022-08-17 오후 7.13.03.png

스크린샷 2022-08-17 오후 7.13.53.png

그럼 HEAD는 어떤 존재 일까?

스크린샷 2022-08-17 오후 7.14.19.png

스크린샷 2022-08-17 오후 7.14.26.png

HEAD도 커밋을 가리키는 포인터라고 배웠다. 헤드의 위치에 따라 해당 커밋에 맞춰 워킹 디렉토리가 바뀐다고 했었다. 근데 사실 HEAD는 커밋을 직접적으로 가리키진 않는다.

스크린샷 2022-08-17 오후 7.16.23.png

스크린샷 2022-08-17 오후 7.16.52.png

HEAD는 보통 branch를 가리킬 뿐이다. 간접적으로 커밋을 가리킨다.

스크린샷 2022-08-17 오후 7.17.08.png

이게 바로 branch와 HEAD의 실제 모습이다.

스크린샷 2022-08-17 오후 7.17.33.png

premium branch를 만들어 HEAD가 가리키던 커밋을

스크린샷 2022-08-17 오후 7.18.11.png