I've also gathered a few links over the years, many relating to the philosophy and strategy of git. Some highlights are:
- A successful Git branching model
- A pretty intense dynamic git cheatsheet
- Git from the bottom up (PDF)
- The git parable
- Complete "Pro Git" book
The git features I like best are:
- git stash
- Quickly store a copy of all your unsaved changes, so you can work on them later
- You can use it like: git stash save "halfway through debugging issue foo"
- git branch
- Unlike other version control systems, git makes it incredibly easy, fast and fun to create a new branch for some changes you've made
- Everything is stored locally until you decide to "push" it to the main repo
- To get the most out of git, frequently commit all your work to some branch or other (at least once a day)
- git reflog
- See a history of (almost) all the git commands you issued
- In case you badly mess up you can save your life here
- git rebase -i
- Interactively squash together several commits
- Change commit messages
- Even split out a large commit into several different commits
- git log --color --stat=200,200 --decorate --abbrev-commit --relative
- Improved log