Do we think of Git commits as diffs, snapshots, and/or histories? | Heykuki News