생활코딩 지옥에서 온 Git - 원리 : reset checkout > Git

Git

분산버전관리 시스템 깃(Git) 강좌 공유

생활코딩 | 지옥에서 온 Git - 원리 : reset checkout

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 Git강의 청각장애인을 위한 자막
15610164791705.jpg

 



이번 시간에는 뒤 세서 아주 중요한 기능 중의 하나가 과거로 돌아가는
기능이죠
니 3 리버티 이러한 것들이 있는데 또 다른 측면으로는
우리가 지금까지 브랜치를 바꿀 때 사용했던 체크아웃으로 도 과거로 돌아갈
수가 있습니다
그러면 이 중에서 리셋이 라는 기능 거 체크 아웃이 라는 것을 우리가
실행했을 때 어떻게 과거로 돌아 가는가 라는 것을 보면서 내부적으로 어떤
일이 일어나는 것을 살펴보고
그리고 스 통해서 두 가지가 어떻게 다른가를 여러분이 스스로 이해하는
것을 한번 해볼 겁니다 그 과정에서
와 원리를 우리가 알고 있으면 기억해야 될 것 혼란스러운 것 이런 것들이
훨씬 적어 지는구나
그러면서 기억이 더 오래 갈 수 있겠구나 라는 것을 한번 느끼는 시간을
여러분께 가져오셨으며 좋겠습니다
자 우선 저는 빈 디렉토리에
이렇게 버전을 새로 만들겠습니다 자 그 다음에
음 f1 점 캐스트 게 a code for text 커밋 eil 워셔 점
백번 텍스트 v 키코 및 - name
feet etiam 3
항상 font step 2 i am
차까지 해서 저는 현재 이런 상태입니다
자 제가 이 상태에서 어
커밋 아이디가 93 으로 시작하는
적 커 미스로 제가 돌아가고 싶다
저의 저장소를 저걸로
옮기고 여기 있는 요 컴이 있죠 저 커밋을 취소 하고 싶다
삭제 하고 싶다 그럼 어떻게 하면 되냐면 이렇게 하면 됩니다

re 3 105 탓이오
일단 여기 있는걸 카피 해야 되죠
tele 3 - - 하드 그리고 붙여넣기 이렇게
자 이 명령을 내렸을 때 내부적으로는 어떤 일이 일어나는가 해봅시다
엔터 자 이렇게 되면 킷 로그를 하고 보시는 것처럼 현재 저의 브랜치에
최신 컴이 샌 93번 으로 시작하는 검지 되었습니다
그리고 이전에 있었던 컴이 슨 삭제 됐죠 자 그럼 어떤 일이 일어날까요
리로드를 해보면 보시는 것처럼 어
refs 헤더 스 마 스 터 라는 파일이 수정됩니다 저 파일은 뭐예요
현재 제가 채 카오 탄 브랜치 인 마스터가
어떤 커밋을 최신 컴이 스스로 갖고 있는가 를 가리키는 파일이 조 자 적
파일이 지금 누구를 가리킨 아요
보시는 것처럼 93 시구 오일 을 가리킵니다
그래서 깃은 어떻게 동작 하겠어요
헤드 파일을 보고 헤드 파일에 있는 refs 마스터를 보고 여기 있는 요
파일을 보면 보시는것처럼 여기 있는 이 커 미식 마스터 브랜치에 최신
커밋이 라는 것을 알 수 있게 되는 것이죠 즉 우리가 리셋을 한다라는
것은 여러분이 체크아웃하고 있는 그 프렌치 에
그 브랜치가 가리키는 최신 커밋을
바꾸는 행위 라고 할 수가 있습니다
아주 간단한 행 일 뿐이에요
그러면 우리가 최소한 4번 이라고 하는
그걸 전용 자 번이라는 로그 메세지를 가지고 있었던 그 컴이 슨 주어진
걸까요
자기 슨 왠만해서는
어떠한 정보도 지우지 않습니다
나중에 이제 파일이 정말 많아졌을 때 그때 이제 가비지 컬렉션 이라는 게
돌아가면서 파일을 정리할 수 있지만 그 경우 그것은 거의 일어나지 않는
일이기 때문에 여러분이 어떠한 일을 해서 무언갈 주었다 라고 하는 느낌이
되더라도 그 정보는 실제로 지워진 것이 아니라 사람의 눈에 보이지 않을
뿐 일 수 있습니다
자 그럼 만약에 여러분이 지금 리셋이 라는 것을 했는데
리셋을 최소 하고 싶다 그럼 어떻게 하면 될까요
자 그 때 사용할 수 있는 방법은 바로 여기 있는 요 파일입니다
또는 파일 이에요 자 일단 해부터 봅시다
우리 그 헤드 를 클릭해 보면 얘가
어떤 정보를 가르치고 있을까요
우리 그 애드 이름이 있어야죠 그렇게 보면 우리가 삭제한 4번에 가리키고
있습니다
그리고 로그 스 refs 헤드 s 마스터 를 보면 어떻게 되어 있나요
체 끝에 으 으
이렇게 되어 있습니다
제 끝에 행에 어떻게 돼 있냐면
f3 2a 가
93c 구가 되었다 라고 적혀 있습니다
그래서 여기 있는 f3 이걸 보면 요건은 뭐예요
우리가 삭제한 4 번이고
얘는 누구요 우리가
최신 커 미스로 바꿔치기 한 3번 입니다
즉 여기 있는 으
로그 스 밑에 있는
refs 밑에 있는 마스터 라고 하는 이 파일은
마스터 브랜치 에서 일어나는 여러 가지 중요한 사건들을
기록해 놓는 그런 로그 라고 할 수가 있습니다
기록들 역사라고 할 수가 있어요 그리고 오리 그 헤드 라는 것은 뭐냐면
어떤 위험한 그 명령
이를테면 어떤 정보를 잃어버릴 수 있는 가능성이 있는 그런 위험한 명령을
하기 전에
깃은 오리 그 헤드 라는 곳에 현재 브랜치에

최신 커밋을 정확하게 현재 브랜치에 헤더 가리키고 있는 커밋을 오리 그
언더바 헤드 에다가
기록해 놓은 다음에 그 위험한 명령을 실행합니다
그래서 여러분은 여기 있는 오리 그 헤드를 통해서 여러분이 지금 실행한
위험한 명령을 취소 할 수 있습니다 해볼게요
킷 로그 볼이 그 애들하고 하면 아니죠
v 3
아드

그럼 어떻게 되요 뒷 로그를 했을 때 우리는 이 셋을 취소할 수가
있습니다
그리고 오리 그 헤드 보다 더 좋은 것은 로그를 보는 겁니다 로그의 는
훨씬 더 자세하게 더 많은 정보가 기록되어 있기 때문이죠
근데 우리가 이렇게 파일을 직접 여러 보는거 힘든 일이기 때문에 그런
경우는 어떻게 하냐면 깃 ref 로그 라는 것을 적고 엔터 를 쳐보면
어 방금 제가 했었던 1 그 전에 썼던 그 전에 썼던 일에 각각의 컴이
떨이 기록되어 있습니다
그리고 여기있는 f3 이에 이라는 것은 방금 제가 있었던 명령을 취소할
때 및 리셋 f3 2
a 라고 하면 취소가 된다 라는 그런 뜻으로 일단 생각하셔도 좋을 것
같아요
그리고 옆에 있는 것은 어
취소 할 때 요걸 쓰셔도 똑같이 최소가 된다 는 겁니다 잘 보시면
헤드의 제로라고 이렇게 되어있죠 있는 숫자가 상대적인 숫자 즉 몇 번째
명 몇 번째 명령이다 뭐 이런 뜻이겠죠
예 그래서 여러분들이 이런 정보를 들을 통해서 어떤 위험한 명령을 했을
때 옛날로 돌아갈 수 있다는 것도 알고 계시면 좋겠죠
자 그 다음엔 이번에는 뭘 해볼 거냐면 체크 아웃이 라는 걸 써 볼게요
체크아웃하고 제가 exp 를 하면 이건 뭐예요
아 지금 제가 exp 라는 브랜치가 없군요
자 exp 라는 프렌치 로 체크아웃 하는 건데 이 체크아웃 위에다가 컴이
did 를 직접 적을 수도 있습니다
자 까요 제가 여기 93c 라고 하는 저 컴이 있죠
저거를 체크아웃을 하고 얘를 이렇게 붙이면
어떻게 될까요
이렇게 됩니다 뭐라고 잔뜩 나오고 d-10 hd 헤드 스테이트 라고
나오고
어 dt 프렌치를 해보면 보시는 것처럼 마스터를 가리키지 않고 그 3c
9555 일치 라고 하는 컴이 did 를 브랜치 로 가리키고 있습니다
즉 브랜치가 아니라고 할 수가 있어요 자 봅시다 특히 기록을 하면 이렇게
되는 것이죠 자 그럼 내부적으로 어떤 일이 일어났을까요 그렇게 보면
리로드를 해보면
자 이 중에서 바뀐 파일은 헤드 파일 안합니다
그런데 우리가 알고 있는 헤드 파일은 refs 헤드 스 밑에 있는 마스터
나 expr 같은 파일을 가리키는 데 지금 헤드는
직접 커밋 id 를 가리키는 것을 볼 수가 있습니다
즉 이렇게 되면 우리는 어떤 특정한 컴이 특정한 브랜치에 속해 있는 것이
아니라 현재 우리의 헤드는 어떠한 특정 컴이 3 직접 가리키고 있는
디테 치 드 되어 있는 상태라는 것을 알 수가 있습니다
그래서 디테 치 되어 있는 상태는
뭐 크게 쓸 먹었기 때문에 뭐 지금 우리 맥락에서는
여러분이 다시 마스터 로 돌아가려면 키 체크아웃 마스터라고 하시면 어떻게
되요
보시는 것처럼 헤드는 이제 ref sls 에 마스터를 가르치는 걸 통해서
다시 마스터로 체크 아웃된 것을 볼 수가 있습니다
자 이렇게 해서 리 색과 체 카오스 의 차이점을 조금 더 살펴 보았고
예 그리고 여러분이 어떤 위험한 명령을 열었을 때 그 명령을 취소하는
방법 또 이번 시간에 우리가 살펴봤습니다

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu