I just came across an excellent article describing how git works and
thought I'd point it out:
The article has a description of the basic ideas behind git, in
particular how objects are stored in the git repository. I'd say it's
probably the clearest thing I've read on the subject.
It's also got a section a bit more than half way through describing
briefly what git-rebase can do for you in terms of keeping things clean.
Recommend reading for anyone still confused by git!