Git object
Git에서는 blob
, tree
, commit
, tag
등의 객체를 사용하여 프로젝트의 모든 변경 이력을 저장하고 추적합니다. 이렇게 하면 특정 시점의 프로젝트 상태를 쉽게 복원할 수 있습니다.
Git object의 4가지 타입
Blob

- Blob 오브젝트는 파일의 내용을 담당하며, 각 파일의 내용은 고유한 Blob 오브젝트로 저장됩니다. Blob은 Binary Large Object의 약자로, 각 Blob 오브젝트는 고유한 SHA-1 해시를 가지고 있습니다.
Tree


- Tree 오브젝트는 디렉토리(폴더)를 나타내며, 디렉토리 내의 파일들을 Blob 오브젝트로, 그리고 하위 디렉토리들을 다른 Tree 오브젝트로 참조합니다. 따라서, Tree 오브젝트는 디렉토리의 구조를 표현하게 됩니다.
Commit


- Commit 오브젝트는 프로젝트의 특정 시점을 나타내며, 작성자 정보, 커밋 메시지, 그리고 그 시점의 디렉토리 구조와 파일 내용을 참조합니다. 디렉토리 구조와 파일 내용은 Tree 오브젝트를 통해 참조하게 됩니다.
Tag

- Tag 오브젝트는 보통 릴리즈 버전을 표시할 때 사용되며, 특정 Commit 오브젝트를 참조합니다. 이를 통해, 해당 버전의 프로젝트 상태를 쉽게 찾을 수 있게 됩니다.