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