On a daily basis I am using Git on Windows and while I could use the command line for everything I find it much nicer to be able to see the git commit log all the time. After trying a few different tools I found Git Extensions to be a great Git GUI when pared with P4Merge for diff and merging. But out of the box Git Extensions only supports P4Merge as a merge tool, not a diff tool. Well it only take a simple change to your .gitconfig file to get it working.
[diff] tool = p4merge guitool = p4merge [difftool "p4merge"] cmd = "p4merge.exe $LOCAL $REMOTE"
By default Git Extensions set’s up kdiff3 as the guitool so hitting F3 wont pull up P4Merge. My setting the diff.guitool at P4Merge it all just magically starts working.