Git의 데이터 파일
Git의 데이터 파일로는 HEAD 파일, Branch 파일, Commit 파일이 있다.
세 가지의 연결 구조

Reset
- delete의 느낌으로 Branch가 가리키는 commit을 변경한다.
- git reset commit id : 주로 뒤에 commit id가 온다.
- branch가 가리키는 commit을 변경하므로 그 후에 commit을 하면 새로운 commit이 생성되고 원래 연결되어있던 commit은 연결성이 없어서 삭제의 느낌을 갖게 되는 것이다.
Checkout
- change의 느낌으로 HEAD가 가리키는 Branch를 변경한다.
- git checkout Branch : 주로 뒤에 Branch가 온다. commit id가 올 수도 있다.
- HEAD가 가리키는 Branch를 변경하므로 사용자의 시점이 이동한다고 볼 수 있다. 어느 파일도 삭제가 되지 않고 시점이 바뀌는 change의 느낌을 갖게 되는 것이다.
Reset과 Checkout의 차이 도식화

git checkout commit id
보통 checkout 뒤에는 Branch가 온다. 하지만 commit id가 올 수도 있다. 이것은 HEAD가 Branch를 가리키지 않고 떨어져 있는 commit을 가리키는 것이고 이를 detached 상태라고 한다.