gitはスナップショットと言っていいと思う。
blobは厳密にスナップショット。
tree, commitもスナップショット。ただし、すでに保存されているblob, treeがあるときはハードリンクする。

これでどうだ。