Although not free, I've been using Tower a lot lately for Git, even though I had used the command line interface for the past few years. I just find it a lot easier to divide chunks of work up into smaller commits using it rather than on the command line.
If you're a vim user, then vim-fugitive is also worth looking at!