JAXenter recently published an article about how Git persists its data. The article gives you a quick introduction of Git’s underlying datamodel and explains how this influences the commands you use on a daily basis.

Besides the datastore, it also explains how things like refs, HEAD, index or tags work and how they fit into the model.

The article is available as both german and english versions: