Naturally, it works well with SourceTree since they’re both Atlassian products. If only SourceTree wasn’t so slow. Slow SourceTree: The Fix. Ok, so I had Stash and SourceTree installed on the same computer and they were working fine and talking to one another. I wanted to add my laptop to the mix so I could work on the go. Newbie question alert!!! I am just starting to get into using Git, and particularly Sourcetree which seems like a good application for visualizing it. On my first test it went along pretty well, branching and merging (see the top diagram). I know this structure means I'm using the development and master branch the wrong way round, but that's.
This article was updated for Visual Studio 2017.
Today, a short note on how to set up Visual Studio as a diif and merge tool in SourceTree and Git client. It’s not commonly known that this IDE may be used for resolving merge conflicts, but as you’ll see it’s very simple to set up.
SourceTree config
First, open up the options window and go to Diff tab.
Change both External Diff Tool and Merge Tool to Custom. In the Diff Command field enter the full path to the vsdiffmerge.exe. For VS 2015 and below you can find it in the Visual Studio installation folder, under Common7IDE subfolder. Time at gmt 0. Visual Studio 2017 has it slightly more hidden. Look under Common7IDECommonExtensionsMicrosoftTeamFoundationTeam Explorer.
As for the arguments fields, type in the following:
Diff tool:
Merge tool:
'$LOCAL' '$REMOTE' 'Source' 'Target' //t
Merge tool:
'$LOCAL' '$REMOTE' '$BASE' '$MERGED' //m
Click OK, and And that’s it! Now whenever a merge conflict occurs, you’ll be able to resolve it using Visual Studio.
The only downside I found is that vsdifftool may take quite some time to start up. But if you don’t close it after diffing each file, it’ll work like a charm.
Commandline Git config
Sourcetree Download Submodules
By saving these settings in SourceTree, your .gitconfig file is updated with two entries: [difftool “sourcetree”] and [mergetool “sourcetree”]. In my case it looks like the following:
2 4 | cmd='C:/Program Files (x86)/Microsoft Visual Studio 2015/Common7/IDE/vsdiffmerge.exe'$LOCAL$REMOTE Source Target//t cmd='C:/Program Files (x86)/Microsoft Visual Studio 2015/Common7/IDE/vsdiffmerge.exe'$LOCAL$REMOTE$BASE$MERGED//m |
You can now use these to tell the commandline Git to use these when viewing a diff or merging. It’s as simple as executing two git commands:
git config --global diff.tool sourcetree
git config --global merge.tool sourcetree
Ebern designs malbon task chair for sale.Now,
git difftool
and git merge
commands will launch Visual Studio.Sourcetree Download
Doing so is of course perfectly possible even without SourceTree. Just add the difftool and mergetool entries to your .gitconfig file (it should be located in your home folder) and execute the two git config commands shown above.