Do we think of git commits as diffs, snapshots, and/or histories?

Do we think of git commits as diffs, snapshots, and/or histories? –How git commits really work