22 lines
692 B
Markdown
22 lines
692 B
Markdown
# Git Objects
|
|
|
|
Git Objects are Blob Object, Tree Object, Commit Object.
|
|
|
|
All objects are stores at `.git/objects` with unique key (hash generated).
|
|
|
|
**Blob Object** is file content.
|
|
|
|
**Tree Object** is filename or directory.
|
|
|
|
![Simple version of the Git data model](https://git-scm.com/book/en/v2/images/data-model-1.png)
|
|
|
|
**Commit Object** contains top-level tree (snapshot at the time), parent commits, author and commit message.
|
|
|
|
Branch is pointer, which point to commit we want.
|
|
|
|
## References
|
|
|
|
- [Git Internals - Git Objects](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects)
|
|
|
|
- [Commits are snapshots, not diffs](https://github.blog/2020-12-17-commits-are-snapshots-not-diffs/)
|