Git Reset과 Checkout의 차이

Develop My Life·2020년 8월 11일
0

Git

목록 보기
3/6

Git의 데이터 파일

Git의 데이터 파일로는 HEAD 파일, Branch 파일, Commit 파일이 있다.

세 가지의 연결 구조
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의 차이 도식화

Reset과 Checkout의 차이 도식화

git checkout commit id

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

0개의 댓글