지옥에서 온 Git

reset과 checkout의 원리

수업소개

여기서는 reset과 checkout을 하면 내부에서는 어떤 일이 일어나는지를 알아봅니다. 이 수업에서는 reset이 refs/heads/브랜치명 파일의 커밋 id를 바꾸는 것이고, checkout은 heads의 내용을 바꾸는 것이라는 것을 이해하시면 됩니다. 

수업

댓글

댓글 본문
작성자
비밀번호
  1. 엔터를땅치면요롷게
    reset을 했다는 기록도 reflog에 남네요.
    결국 했던 리셋을 리셋 했다는 기록이 남아요. 어찌 됐든 없어지진 않는...
    대화보기
    • 엔터를땅치면요롷게
      그런데 git reset “git reflog에서 본 id” 를 입력한다면
      이건 정말 복구가 안되게 reset 하는 걸까요 ?
    • 제로스
      git reset --hard 커밋id 는 HEAD파일이 refs/heads/master 파일을 가리키고 그 파일은
      원하는 커밋id로 되어있고, ORIG_HEAD라는 파일이 생겨 그내용은 기존 최신 커밋 id를 가지고 있으므로
      다시 복귀할 때는 git reset --hard ORIG_HEAD 으로 하든 git reset --hard 최신커밋id로 가능.
      이와는 틀리게 git checkout 원하는 커밋id은 HEAD파일 자체가 바로 원하는 커밋id를 바로 가르킨다.
      복귀는 git checkout master
    • 단순히 예시를 위한 커밋 생성이기 때문에 일부로 빠른 재생으로 강의 시청자들을 배려해주신 듯 합니다.
      대화보기
      • 첫 댓글을 달게 되어 영광입니다.

        근데 수업 영상이 속도가 두배로 나와서 0.5속도로 보고 있는 중입니다. (30초에서 1분30초 사이의 영상입니다.) 혹시 보신다면 수정해주시면 감사하겠습니다.
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기