git에는 코드를 복사하여 독립적인 작업을 진행할 수 있도록 도와주는 기능으로 브랜치가 있다. git에서 commit을 하면 파일에 대한 정보, 디렉토리 구조에 대한 정보, 이전 커밋에 대한 포인터 등의 정보 등이 저장된다. 브랜치는 일종의 포인터로 현재 작업중인 가장 마지막의 commit을 가리킨다. head는 현재 작업하는 브랜치를 가리키는 포인터이다. git checkout 브랜치이름 명령어로 head를 이동시킬 수 있다. head가 가리키는 브랜치가 앞으로 수행되는 commit을 계속 따라가게 된다. 각각의 브랜치에서 commit을 수행하면 분기가 되어 별도의 commit을 진행한다. 브랜치의 분기는 git log --graph --all로 확인할 수 있다. 브랜치를 만들면서 head까지 바로 이..