Microsoft has released a Git plugin for Visual Studio 2012. I have found it to be excellent, but there doesn't seem to be any option to change the default Diff tool. Worse, I cannot do a diff at all on ascx codebehind files. It only shows a diff option for the main .ASCX file.
How do you
- Diff the codebehind files when using the git plugin?
- Change the diff tool?
You have to change your local .gitconfig, rather than make the change through Visual Studio as you would with TFS
https://gist.github.com/mkchandler/2377564
Add the following to your global .gitconfig file:
[diff]
tool = diffmerge
[difftool "diffmerge"]
cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" -merge -result=\"$PWD/$MERGED\" \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\"
trustExitCode = true
[mergetool]
keepBackup = false
Steps :
Install Winmerge with "WinMerge added to your PATH environment variable", you have to select the check box during winmerge installation.
Microsoft GIT provider plugin should be installed in visual studio 2013.
Go to user git config, generally in "C:\Users\USERNAME\.gitconfig"
Add the following lines or update according to parameters inside .gitconfig
**
[diff]
tool = winmerge
[difftool "winmerge"]
cmd = winmergeu.exe -e -ub -x -wl -u -maximise -dl "base" -dr "mine" \"$LOCAL\" \"$REMOTE\"
[difftool]
prompt = false
**
Now from Visual studio if you do "Compare with Unmodified..." on a file winmerge should open up automatically.
来源:https://stackoverflow.com/questions/16674503/the-diff-tool-in-visual-studio-when-using-the-git-plugin