We now develop in two branches, for bugfixing and features. Merging the two, if we haven't done it for a while (and we now do it every day), is a bit scary. The best tool I've found is p4merge, which does a three-way diff showing me changes in Dev, changes in Master, and the common base. A fourth pane lets me edit the output.
It works seamlessly with git - see this blog post about integrating p4merge with git mergetool. If it doesn't work, you have an old version of git - upgrade.
That blog post is down now. More hints:
.gitconfig:
[mergetool "p4merge"]
# /Applications/Utilities, but you might have them in /Applications.
cmd = /Applications/Utilities/p4merge.app/Contents/Resources/launchp4merge \
"$PWD/$BASE" \
"$PWD/$REMOTE" \
"$PWD/$LOCAL" \
"$PWD/$MERGED"
keepBackup = false
trustExitCode = false
http://www.andymcintosh.com/?p=33