WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Git · Advanced · question 41 of 100

Can you explain the Git object model, including blobs, trees, and commits?

📕 Buy this interview preparation book: 100 Git questions & answers — PDF + EPUB for $5

The Git object model is the underlying data structure that Git uses to store and manage the contents of a repository. It consists of three main types of objects: blobs, trees, and commits.

Blobs: A blob represents the contents of a file. Blobs are immutable objects, which means that they cannot be changed once they are created. When you make changes to a file, Git creates a new blob to represent the updated contents of the file.

Trees: A tree represents a directory in the repository. A tree object contains pointers to one or more blobs and/or other tree objects. When you create a new file or directory in the repository, Git creates a new tree object to represent the updated contents of the directory.

Commits: A commit represents a snapshot of the repository at a particular point in time. A commit contains metadata such as the author, date, and commit message, as well as a pointer to the tree object that represents the state of the repository at the time the commit was made. When you make a new commit, Git creates a new commit object that points to the tree object representing the updated repository state.

Here’s a visual representation of the Git object model:

    Commit
    |
    v
    Tree <---- Blob
    |         |
    v         v
    Tree      Blob
    |         |
    v         v
    ...       ...

In this diagram, each arrow represents a pointer from one object to another. Commits point to trees, trees point to blobs (or other trees), and blobs represent the contents of files.

In summary, the Git object model is the underlying data structure that Git uses to store and manage the contents of a repository. Blobs represent file contents, trees represent directories, and commits represent snapshots of the repository at a particular point in time. By understanding the Git object model, you can gain a better understanding of how Git works and how to use it effectively.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Git interview — then scores it.
📞 Practice Git — free 15 min
📕 Buy this interview preparation book: 100 Git questions & answers — PDF + EPUB for $5

All 100 Git questions · All topics