using other merge and diff tools
If you've installed TortoiseGit, you can use the right click options to work with files. When inside Cygwin, you have the ability to call other programs too.
TortoiseMerge
Edit your ~/.gitconfig with the following (adjust path if necessary):
[merge] tool = tortoise [mergetool "tortoise"] cmd = \"c:/Progra~1/TortoiseGit/bin/TortoiseMerge.exe\" /base:\"$BASE\" /theirs:\"$REMOTE\" /mine:\"$LOCAL\" /merged:\"$MERGED\"
Now when you need to resolve merge conflicts, type this:
git mergetool
Each conflict will open in TortoiseMerge
WinMerge
You can run git diff in an external editor, and/or use git difftool to run the external editor:
.gitconfig
[diff] tool = winmerge #this runs git diff in external tool #external = /cygdrive/h/git-diff-wrapper.sh [difftool "winmerge"] cmd = /cygdrive/h/git-difftool-wrapper.sh \"$LOCAL\" \"$REMOTE\"
git-diff-wrapper.sh
#!/bin/sh "C:/Program Files/WinMerge/WinMergeU.exe" -e -ub `cygpath -w $2` `cygpath -w $5` | cat
git-difftool-wrapper.sh
#!/bin/sh "C:/Program Files/WinMerge/WinMergeU.exe" -e -ub `cygpath -w $1` `cygpath -w $2` | cat