I started reading Pro Git by Scott Chacon and Ben Straub.

There’s a great quote in the first chapter:

“As you learn Git, try to clear your mind of the things you may know about other VCSs, such as CVS, Subversion or Perforce — doing so will help you avoid subtle confusion when using the tool.”

This is similar to a sentiment Gary Bernhardt shares in a blog post

[If] “you’ll be spending a lot of time with it; it’s worth getting over the initial hurdle of confusion”

I want to take this approach in learning new, challenging things.

All that being said, this week I learned:

Git has synonyms:

  • a commit is a snapshot
  • git diff --cached is git diff --staged

origin is the default remote

There are three states: modified, staged, and committed