Why I Don't Hate Git: Hidden Consistency
lucumr.pocoo.org
lucumr.pocoo.org
I also found that git commands started making more sense when I realised that even in the UI, there's more consistency than is immediately apparent. Commands are named for how they manipulate data. So `git checkout` is for copying data into your working copy, `git rebase` is for rewriting a set of commits, `git reset` is for pointing the index at a commit.