A git snapshot is a representation of your local file system when a commit is performed.
It's attached to each commit.
Each new snapshot (ie commit) will create a new Git tree. ie
The commit and tree relationship looks like that (where the file are blob)