checkout

image.png

image.png

checkout 특정 커밋이나 브랜치로 돌아가고 싶을 때 사용한다.

working dir는 head와 같거나 커밋하지 않은 변경사항이 존재한다.

각각의 버전은 그 버전이 만들어진 시점의 stage area의 스냅샷이다.

새로운 버전의 parent는 head가 가르키는 곳이다.

버전이 생성되면 head가 따라온다.

image.png

checkout은 head를 바꾼다.

v2에 대해서 checkout을 하면, head는 v2로 바뀐다.

merge

image.png

(아이디는 커밋은 후에 생성되지만 설명의 편의성을 위해 다음과 같이 작성하였다.)

exp브랜치의 d1과 main브랜치의 d2가 생성되었을 때, 이 둘을 main 브랜치로 merge하면 e가 생성된다. e의 parent는 d1과 d2가 된다.

image.png

https://mylko72.gitbooks.io/git/content/branch/branch_type.html