브랜치 동작 원리


checkout 명령어로 브랜치가 변경되면 깃은 내부적으로 몇 가지 동작을 수행합니다.


HEAD 정보


HEAD 정보는 항상 변경된 브랜치의 마지막 커밋을 가리킵니다.
이처럼 HEAD가 브랜치의 마지막 커밋을 의미하기 때문에 브랜치가 이동하면 HEAD 포인터도 함께 이동합니다.


워킹디렉터리


변경된 브랜치로 새로운 작업을 할 수 있도록 워킹 디렉터리를 변경합니다.
브랜치를 변경하려면 기존 브랜치의 워킹 디렉터리를 정리해야 합니다.
기존 브랜치의 워킹 디렉터리를 정리하지 않고서는 브랜치를 변경할 수 없습니다.