See Objects
$ mkdir test
$ cd test
$ git init
$ ls -al
$ ls -al .git
$ find .git
$ echo "first version" > README
$ git add README
$ find
# observe the creation of .git/objects/22/de8d69c9026be2a49f540fda12f3e755a33e6c
$ git cat-file -t 22de8d69c9026be2a49f540fda12f3e755a33e6c
blob
$ git cat-file -p 22de8d69c9026be2a49f540fda12f3e755a33e6c
first version
$ git ci -m "commit first ver"
$ .git/COMMIT_MESSAGE (always the last commit message)
Two more objects appeared:
a tree object and a commit object
.git/refs/heads/master was created with the SHA1 of commit object in it
$ echo "second version" >> README
$ git add README
new blob object created
.git/index file updated