I keep a local hg repo for my work.
- Whenever I check something in, I look over the diff and make sure that all changes are acceptable.
- I try to note the key feature of the checkin.
- I try to keep each commit size to one key feature.
I don't claim these are the best, but they do work for me.