I've been using version control systems for years.  When you have to shift to a new one, it's not a big deal, right?  You just learn the new commands?

Well, yes and no.

I think my first VCS must have used differences to store the versions.  Either that, or I have always just thought of them as glorified incremental backup systems.  Git, however, doesn't work like that.

Git stores a new snapshot of the file every time it changes.  A version of your system essentially consists of pointers to the snapshots of your files that were current at the point you took the version.

I'm now thinking of git as more of an unglued collage than an incremental backup. This is still working it's way into my default thinking – but I think it's going to help with git fluency.