All Git Object Types: Blob, Tree, Commit And Tag

The complete list of git object types is here:

  1. blob
  2. tree
  3. commit
  4. tag

Git blob object


The git “blob” type is just a bunch of bytes that could be anything, like a text file, source code, or a picture, etc.

Learn more about the git blob object.

Git tree object

A git tree is like a filesystem directory. A git tree can point to, or include:

  1. Git “blob” objects (similar to a filesystem directory includes filesystem files).
  2. Other git trees (similar to a filesystem directory can have subdirectories).

Learn more about the git tree object.

Git commit object

A git commit object includes:

  • Information about who commited (made) the change/check-in/commit. For example, it stores the name and email address.
  • A pointer to the git tree object that represents the git repository when the commit was done
  • The parent commit to this commit (so we can easily find out the situation at the previous commit).

Learn more about the git commit object.

Git tag object

A git tag object points to any git commit object.  A git tag can be used to refer to a specific tree, rather than having to
remember or use the hash of the tree.

Learn more about the git tag object.

Next: The Git Object Model: Starting with the “blob” object
Previous: Why Use Git Instead of a Legacy Version Control System?

Related: