A cool feature that you just get for free is hunk-based commit. For those who haven't using Darcs, hunk-based commit allows you to select which parts of the diff you want to include. It allows for a much cleaner commit history.
With git, I've started using git-gui to create my commits. It's really useful. Inside, you can select a modified file, and then right-click the hunk you want to stage. Then, when you are happy with the staging area, type in the message, and commit.
I usually leave
git-gui open, in the background, and have a Quicksilver shortcut to bring it to the front.
This setup works very well for me, and it almost makes me forget how much I miss Darcs.