Sourcetree Side By Side Diff

Atlassian recently released a beta version of SourceTree for Windows, their graphical Git client, which was previously only available on Mac. Since BitBucket kept telling me to give it a try, I gave in and snagged a copy.

  1. Sourcetree Side By Side Diff Expressions
  2. Sourcetree Side By Side Different
  3. Sourcetree Side By Side Difference

Now, I gotta say, the Git CLI is amazing. I mean, you can do some crazy stuff in a simple terminal window. Tasks like interactive rebasing and cherry picking hunks of changes work surprisingly well on the command line. But there are also tons of features of Git that would lend themselves well to a GUI. So let's peek in on SourceTree to see what it provides.

A long, long time ago, SourceTree would show both the old version and new version for binary files with a valid QuickView (eg. Now, it only shows the After, and the Before always displays 'No Preview Available'. There is a button labeled 'Open' underneath it that does nothing. Two-way Diff 2 ≠ 3 Easily compare the files side-by-side. Run from Sublime or command line. Three-way Diff 2 ≠ 3 Integrate with your VCS and use Sublimerge's advanced features to resolve merge conflicts. Live Diff 3 Just like in the best diff tools available on the market, you can type, cut, copy, paste and delete directly in diff view. Try adding the location of meld.exe to your PATH (e.g. C: Program Files (x86) Meld), and then in the Diff Command, just enter meld instead of the full path. See the gist How to use meld with Sourcetree on Windows.

The Interface

Sourcetree external diffSourcetree Side By Side DiffDiff

How to get full side-by-side compare instead of the simple diff output? Like # people like this. Published in Sourcetree.

At first glance, the UI is a bit intimidating, but I was able to get rolling with it relatively easily. There are three main views for your repository:

  1. File Status View - Here's where you can see the status of your working copy, with a separate panel for your staged changes. There's also a panel that shows the diff of the selected file.
  2. Log View - This includes the list of revisions, as you'd expect, with that usual vertical branch graph that we all know and love. You can see the nitty-gritty commit details, a list of changed files, and a diff of the selected file.
  3. Search View - This view allows you to search your revisions for text in a commit message, in a file change, or in an author name. Similar to the Log View, it also has commit details, a file list, and a diff window.

You can switch between these views using the tabs along the bottom of the screen, but Ctrl+1, Ctrl+2, and Ctrl+3 will get you there way faster.

Impressions

When using the CLI, there are plenty of times when developers want to stage only certain files. When that happens, we end up having to add each file by name, or we try to figure out some clever glob to hit all the files we want. Either way, it can be tedious. SourceTree lets you simply drag the files from the working copy panel into the staging panel -- an action that was very natural for me, and gets the job done fast.

Likewise, the ability to stage or unstage individual hunks within a file is really cool -- it just takes a click. That totally makes my life easier. War thunder waffenträger.

Sourcetree Side By Side Diff Expressions

For me, the repo list along the left mostly got in the way. Although I'd like to be able to switch or edit repos once in a while, most of the time, I don't have a need for it. Thankfully, it can be hidden with Ctrl+B.

Finally, there's not much support for resolving conflicts, although in fairness, many version control clients leave you to your own devices here. If resolving your conflict is as easy as choosing 'Mine' or 'Theirs', then you're in luck. Otherwise, you can configure an external diff/merge tool and click a button to launch that. And of course, there's always your IDE where you can edit it by hand.

Summary

I'll admit that I feel a bit anxious about having SourceTree run certain Git commands for me, particularly when they involve destructive operations like rebases. Call me a control freak, I guess.

Sourcetree Side By Side Different

Still, having all my branches, tags, and stashes so visible is very nice, and I'm thrilled with the way you can so easily stage files and hunks.

So, I expect I'll be running both SourceTree and a Git terminal window side-by-side.

Sourcetree Side By Side Difference

FTC 16 CFR, Part 255 Disclosure: I have no material connection to this app – I simply thought you'd like to hear about it.