GitX is buggy and terrible and yet it still has the best staging interface I've used. I don't use any other features though, and just do those on the command line, because they're easier, but a GUI is much better than "add -p".
The tree visualization in GitX is also pretty decent as such things go.