HEAD는 기본적으로 현재 작업 중인 브랜치의 최신 커밋을 가리키는 일종의 표시입니다. 보통은 현재 작업 중인 브랜치의 최신 커밋을 가리키지만, 브랜치를 나누고 합치는 과정에서 HEAD의 위치를 자유자재로 바꿀 수 있습니다.
체크아웃이란 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것을 의미합니다. 특정 브랜치로 체크아웃하게 되면 HEAD의 위치가 해당 브랜치의 최신 커밋을 가리키고, 작업 디렉터리는 체크아웃한 브랜치의 모습으로 바뀌게 됩니다.
가령 그림 4-17에서 HEAD가 master 브랜치의 최신 커밋을 가리킬 경우, 다시 말해 master 브랜치로 체크아웃할 경우 작업 디렉터리는 총 네 개의 커밋이 만들어진 직후의 모습으로 바뀌게 됩니다.
그림 4-17 | master 브랜치로 체크아웃하기