패스잇
소프트 스킬 · 기초

Git의 객체 모델에서 blob, tree, commit 객체는 각각 무엇을 저장하나요?

힌트 · 파일 내용, 디렉터리 구조, 스냅샷 메타데이터를 각 객체가 어떻게 나눠 담는지 관점에서 접근하세요.

파일 내용디렉토리 구조커밋 정보

모범답안

Git의 객체 모델에서 각 객체는 데이터를 효율적으로 관리하기 위해 역할을 분담합니다.

먼저 blob 객체는 실제 파일의 내용을 저장합니다. 파일이 변경될 때마다 새로운 blob 객체가 생성되며, 파일의 내용 자체를 해시값으로 식별합니다.

tree 객체는 디렉터리 구조를 나타냅니다. 디렉터리 내의 파일(blob 객체)과 하위 디렉터리(다른 tree 객체)에 대한 정보를 담고 있으며, 각 항목은 이름과 해당 객체의 해시값으로 구성됩니다.

마지막으로 commit 객체는 특정 시점의 스냅샷 메타데이터를 저장합니다. 이전 커밋에 대한 참조, 작성자 정보, 커밋 메시지, 그리고 해당 커밋이 가리키는 루트 tree 객체의 해시값 등을 포함하여 프로젝트의 변경 이력을 기록합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Git / 협업 면접 질문

← Git / 협업 면접 질문 전체 보기