팀 개발을 위한 Git, GitHub 시작하기(정호영, 진유림 지음)으로 공부한 내용을 정리한 글입니다.
$ git hash-object <file name>
Checksum을 확인하는 명령어Checksum을 가짐Checksum을 가짐git add를 실행하면 .git 폴더에 index 파일이 생성되는데, 이 index 파일이 Git stage임.git/objects 폴더에 파일 Checksum의 앞 두자리를 폴더명으로 하는 폴더가 생성됨Checksum의 앞 두자리를 제외한 문자열을 파일명으로 하는 git object가 생성됨git object의 파일 형식은 blob임git commit을 실행하면 .git/objects 폴더에 git add 때와 같은 방식으로 git object가 생성됨 git object는 커밋 객체임Checksum을 가짐commit 후에 스테이지에서 파일이 제거될거라고 생각하기 쉬운데 사실을 그렇지 않음clean하다고 함git commit을 실행하면 .git/objects 폴더에 git tree object도 생성됨Checksum을 가짐Checksum만 바뀜modified 상태가 되는데, 이는 워킹트리 속 파일 Checksum이 스테이지 속 파일 Checksum과 다른 경우를 말함git add 명령어를 통해 스테이지에 추가한 경우, 스테이지 속 파일의 Checksum이 워킹트리 속 파일의 Checksum과 같아지게 됨staged가 됨blob으로 관리되며, 이 blob은 파일의 제목이나 생성 날짜와는 관계 없이 내용이 같을 경우 같은 CheckSum을 가짐blob으로 해당 파일들을 관리함index 파일에 Checksum과 함께 저장되어 있기 때문에, 동일한 내용을 같는 파일을 하나의 blob으로 관리할 수 있음branch를 생성하면 .git/refs/heads 폴더에 branch명으로 파일이 생성됨branch가 가리키고 있는 커밋의 Checksum이 저장되어 있음branch 파일에 저장된 커밋으로 HEAD를 이동시킴HEAD가 가리키는 커밋과 동일한 내용으로 변경함