For a different angle, the Git Book also talks about some of these internals in its chapter on Git Objects.

I recently leveraged that to manually update permissions in a Gerrit setup, which stores its user database in a unusual Git repository.

git-scm.com/book/en/v2/Git-Int