생활코딩 지옥에서 온 GIT : 원리 - commit의 원리 > Git

Git

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

생활코딩 | 지옥에서 온 GIT : 원리 - commit의 원리

본문

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

 



자 우리가 애드 의 원리를 살펴봤으니 까 이번에는
애드 다음에 하는 게 뭐죠 커밋이 줘 그래요
컴이 3월 일을 또 살펴봅시다

자 현재 키티 스테이터스 를 해보면 보시는 것처럼 f1 f2 f3 라는
3개의 파일이 뉴 파일 상태가 되었습니다
자 이 상태에서 제가 커밋을 해볼게요
키커 및 그리고 애드 는 했고
이제 커밍 만 하면 되죠 여기에다가
일 이라고 좋겠습니다 커밋 메시지를 일로 했어요
그리고 킷 로그를 해보면 보시는 것처럼 컴이 됐죠 자 그리고 어떤 일이
도대체 또 생기는가 를 봅시다
5 자 제가 리로드를 해봤습니다 자리로 들을 하니까 이번에는 저스트 나
오후에 해당되는 파일이 하나 둘 셋 넷 다섯 개가 생겼네요
그리고 저스트 나온 아니지만 그 직전에 수정된 파일이 이렇게 얘들도 왠지
관련돼 있을 것 같아요
자 그래서 봅시다
무성
우선 여기 있는 오브젝트 파일 부터 한번 열어 볼게요
작업 을 클릭해 보니까 어떤가요
방금 제가 작성한 커밋 기억나시죠
그 커밍 멧세지 해당되는 정보가
요 오브젝트 라고 하는 디렉토리 안에 저장되어 있습니다
즉 여러분이 커밋을 하면 여러분이 한 그 커밋
다시 말해서 그 버전도 마치 파일의 내용 처럼 오브젝 츠 안에 들어간다는
겁니다
그래서 컴이 또 사실은 내부적으로는 오브젝트에 객체 라고 할 수 있습니다
그리고 그 커밋 안에는 이런 정보가 적혀 있는데
자 그 중에서 여기 있는 트리 라고 되어 있는 거 있죠
그 뒤에 뭐가 적혀 이건 좀 이따 봅시다 자 컴이 3
누가 커밋을 했는지에 대한 정보가 이렇게 적혀 있고요 그리고 컴이 3
내용이 적혀 있고 그리고 트리 라고 하는 것 옆에 오브젝트가 링크가
되어있습니다
sha-1
으로 만들어진 값이 도 이렇게 있는 것이죠
2 4 e 는 무엇일까요
여기 보니까 얘네 요
그렇게 보면 이런 식으로 되어 있습니다
즉 여기 있는 이 트리는 무엇이냐면 f1 이라는 파일과 애프터 f3 라는
각각의 파일의 내용이 무엇인가 에 대한 정보가 담겨 있는 내용입니다
다시 한번 볼게요 자 방금 우리가 커밋을 한 그 커밋 결과는 그 버전은
5 오브젝트 파일로 저장이 되고 고 오브젝트 파일의 는 트리 라고 하는
것이 이렇게 어 적혀 있는데 그 트리의 값을 보면 현재 우리가 작성한 그
버전의 해당되는 파일의 이름과 그 파일의 내용이 이렇게 링크가
되어있습니다
자 버전을 한번 더 만들어 볼게요
자 이번에는 저는
f 2.2 텍스트의 내용을
y 제트 로 바꿨습니다 으
그리고 저장하고 datediff 2.2 텍스트 라고 하고

3 볶아요 리로드를 한번 어떻게 되요 보시는 것처럼 인덱스 라는 파일에
자 이렇게 y 제트 라는 것이 생겼고 그 오브젝트 sha1 아이디는
279 5조 클릭해보면 f2 점 텍스트는 2 7 그거라고 이렇게 되어
있죠 자 그리고 우리가 커밋 키스를 한번 해보면
여기에서
이라고 하겠습니다 그러면 두번째 컴이 생겼고 리로드를 해보면 보시는
것처럼 이렇게 되는데 그 중에서 애가 뭘까요 클릭해 보니까 커밋이 담겨
있는 객체 였읍니다
방금 우리가 한 커밋이 줘 그리고 거기에는 뭐가 적혀 있어요
아까는 없었던 페어런트 라는 것이 생겼습니다
자의 페어런트 를 클릭하면 이 컴이 새
이전 커밋을 볼수가 있죠
그리고 이전 컴이 슨 더 이상 이전 커밋이 없죠 첫 번째 검이 지
었으니까
그리고 아주 중요한 겁니다 자 여기 트리 라고 되어있는 것이 이 두 개의
컴 임마 다 적혀 있는데 요 첫번째 컴이 거 두 번째 컴이 3 트리 값이
같은가요 다른가요
다르죠
그리고 요 첫 번째 컴 이색 트리 를 클릭하면
어떻게 되나요 이렇게 나옵니다
그리고 이렇게 나오는데 여기에서 f2 점 텍스트의 오브젝트가 이건데
클릭해보면 제트 라는 내용을 담고 있는 오브젝트를 가리키고 있습니다
하지만 어 지금 우리가 한계 뭐였죠
예 첫 번째 컴이 3 트리를 봤구요
자 두번째 컴이 또 트리가 있는데 그 틀이 를 클릭해서 보면 은 f2 점
텍스트 가 가리키는 오브젝트가 이겁니다
클릭해보면 이번에는 y 제트 를 가리키고 있는 객체 였읍니다
정리해볼게요
자 컴 2세는 주요한 정보가 2개가 있습니다
첫번째는 이전 커밋이 누구인가
부모를 나타내는 페어런트 라는 값이 있구요 또 하나는
그 커밋이 일어난 시 점
컴 이지 일어난 그 시점에
우리의 그
작업 디렉터리 우리 작업 디렉토리에 있는 파일의 이름과 그 파일의 이름이
담고 있는 내용 사이의
정보가 바로 트리 라는 곳에 장 담겨있습니다
그래서 각각의 버전마다 서로 다른 트리를 가리키고 있고 그 틀이 에는
파일의 이름과 그
파일에 담겨 있는 내용이 각각 이렇게 링크가 되어 있기 때문에 우리는 이
버전의 적혀있는 트리 를 통해서 그 버전이 만들어진 시점에
우리의 그
프로젝트 폴더에 대한
상태 를 얻어낼 수 있습니다
그런걸 우리가 뭐라고 또 표현 하냐면 사진을 찍었다
스냅샷 이라고 이거
즉 각각의 버전은 그 버전이 만들어진 시점에 스냅샷을
이틀이 라고 하는 정보 구조를 통해서 가지고 있다는 겁니다
아이가 어려운 건데 이해하실 수 있을지 모르겠네요
자 그러면 우리가 디렉토리 더 만들어 보죠
mkdir 딥 원
그리고 d1 에다가 제가
f1 점 텍스트를 to 원의
이렇게
카피를 하겠습니다 그리고 키티 스테이터스 를 해보면
4 이원이 노트 추가가 되었죠 dead ep1 앱 v 1.2 텍스트 라고
하고
그리고 5
키 스토리에서 리로드를 해보면 보시는 것처럼 파일이 두개가 바뀌었고
여기에는 그 새로 생성된 애가 아니에요 또 예
아마 그 거죠 날짜 바뀌었을 거에요
인덱스 를 클릭해보면 보시는 것이 인덱스 안에
기원 / fem 텍스트 라고 되어있고 얘도 f1 과 똑같은 내용을 갖고
있다라고 되어 있습니다
자기 커밋 그리고 삶 이라고 하면
보시는 것처럼 또 파일들이 쭉 바뀌는데 그 중에서 얘를 클릭해 보니까
세번째 커밋이 나오고요
그리고 페어런트 가 이렇게 있고 각각의 페어런트 로 넘어갈 수 있습니다
그리고 각각의 커 미스는 보시는 것처럼 이렇게 각자 트리를 가지고 있어서
그 커밋이 만들어진 시점에 파일의 이름과 그 파일의 내용들이 트릭에 담겨
있습니다
여기도 마찬가지 그리고 여기 또 마찬가지인데
여기 있는 트리 를 클릭해 보면 이렇게 됩니다 우리가 예상했던 것처럼
de 뭐니 라고 하는 것은
이 오브젝트를 가르치고 있는데 이 오브젝트에 타입이 앞에 뭐라고 적혀
있어요
트리 라고 적혀 있습니다 그래서요 트리 를 클릭해보면
보시는 것처럼 d1 디렉토리에 담겨 있는 파일의 이름과 그 파일의 내용이
담겨 있는 정보가
보시는 것처럼 트리 라는 형태로 역시나 링크가 되어 있다는 것을 알 수가
있는 것이죠
자 그래서 우리 섭 여기서 마무리 하기 전에 제가 여러분들한테 지금
오브젝 칠하는 파일을 이리저리 설명 들었는데
줘 오브젝트 라는 디렉토리 안에 들어가는 파일은 5 오브젝트 파일이고 o
젝트 파일은 크게 세가지 중에 하나입니다
하나는 파일의 내용을 담고 있는 거죠
이런거
블러 월남 이라는 것이 첫 번째
개는 파일의 내용을 담는 겁니다 자 두 번째는
어 어떤 디렉토리에
파일명과 그 파일명의 해당되는 내용에 해당되는 블랍 에 대한 정보를 담고
있는 것 트리입니다
세번째 커밋이 에요
여기 있는 요 각각의 컴이 슨 이렇게 오브젝트 id 를 또 갖고 있죠
그래서 오브젝트는 크게 3개의 형태인데
하나는 블랍 또한 트리 또 하나는 커밋 3가지로 구성되어 있다라는 것도
여러분이 머릿속에 좀 정리를 해 보시면 덜 혼란스러워 오실겁니다 3개
중에 하나에요
여기까지

댓글 0개

등록된 댓글이 없습니다.

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

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

Menu