They are largely great tools, but I'm looking for something with a bit more functionality. I would like something that I could only refer to as a Staging tool so that I can really control which of my code changes are assigned to each commit.
I havne't converted to any of the tools built into the IDEs I use because I'm using quite a few, and don't want to use a different Git tool just because I'm on a different IDE.
One of the most annoying things for me about DiffMerge is how it shows a popup window on launch, and I also find it a bit too difficult to change the color palette since I can't easy choose a theme. Otherwise I find it fairly feature complete for my needs.
There's also GitKraken and Sublime Merge.