Process Flow - Git mental model (snapshots not diffs)
Start: Working Directory
Create Snapshot of Files
Store Snapshot as Commit
Link Commits in Chain
Checkout Commit to Restore Files
Modify Files -> New Snapshot
Repeat
Git saves the whole state of your files as snapshots in commits, not just changes. Each commit stores a full picture of your project at that time.