Recs.
Updated
SpecsUpdate
Pros
Pro Built-in Git-flow and Hg-flow support
Git-flow and Hg-flow provide a consistent development process by defining a strict branching model that is great for managing large projects.
Sourcetree allows setting up and integrating into repos that follow this model. Clicking the Git-flow / Hg-flow toolbar button will give you access to actions for starting or finishing features, releases or hotfixes depending on current state of repository.
Pro Comprehensive layout
SourceTree has 3 main repository views: file status, history and search.
File status view shows status of currently selected repo. It's split in 2 areas - file list and diff-view.
History view tracks changes made to the currently selected repository. It's divided in 3 sections. The top section has a graph with progression of commits, branches and merges. The bottom section shows commit details, files changed and differences committed.
Search view allows looking up commit messages, users, files changes, branches and commit SHA.
There's also a toolbar at the top that allows switching between the three views as well as gives access to git commands such as commit, checkout, reset, stash, add, remove, fetch, pull, push, branch, merge and tag.
Pro Allows chunks and lines selection during commit
SourceTree automatically splits the changes to be committed into chunks allowing committing (or discarding) each chunk separately. Furthermore, the user can even select specific lines. This greatly increases the flexibility of the user in that matter.
Pro Consistent UI cross platform
SourceTree has a consistent user interface on all platforms it supports. Making the transition between platforms very easy.
Pro Quick setup
Once installed, Sourcetree will automatically try to look for and set up repos that are worked on. Sourcetree will also detect if git-flow is used and what is the current development state as long as default git-flow branch names are used.
The software tracks all relevant repositories in the bookmark's window. Repositories can be added to the list by creating new ones, adding a local folder, supplying a clone URL or integrating with remote services such as Bitbucket or GitHub.
Additionally, it can be set up via Homebrew Cask. Homebrew Cask extends the functionality of Homebrew package manager and allows installing SourceTree with a single line.brew cask install sourcetree
Cons
Con Crashes and/or locks up constantly
It might lock up a 100 times during a week, so you won't get anything done.
Con Does not allow offline installation
Upon installation, the splash screen prompts you to login. There used to be a workaround for you to manually deploy this application in an offline environment, but they've patched it as of 2.0.20.1. It now does a dial-home on each start-up. Since it cannot reach the server, it throws an error to the user, and raises alerts to compliance.
Atlassian's final decision was that they are not going to support this feature at all. Quoted from their staff:
"We’ve never officially supported any form of pre-installation on device management capabilities. [...] As you know, last year, we removed the notion licensing and asked our developers to register the product by creating an Atlassian account. That said, SourceTree has always been a tool for the individual (emphasis mine) developer."
Con No dark theme
No dark theme for Windows, however MacOS version does have a dark theme.
Con Can sometimes be slow
Some operations can be slow. If you know what you want (e.g you want to touch a file, add it, commit it, and push it) you can do it much faster on the command line. However you're often not going to know what you want, so the visual diffs (for example) help massively.
Con Information density can be a bit much
It's possible to be overwhelmed with the information density presented in Sourcetree. Especially in history view since it includes a lot of data presented in various ways.
It's great for getting a comprehensive overview of everything that's happening in one place, but it can take some getting used.
Con Use native ssh
A lot of us set up git (commandline tool/the real git) separately and then adds a GUI client you want to work on to of this. This is where Sourcetree fails. It just won't work with ssh keys that works when you use git command line. Which means something going on and you have no control what's happening.
Recommendations
Comments
Flagged Pros + Cons
Con Crashes and/or locks up constantly, I had to stop using it because I couldn't get anything done. I one week, it probably locked up at least 100 times.
Pro Account registration needed
You have to register a full Atlassian account to use SourceTree.
Out of Date Pros + Cons
Pro Free
Free to use without registration. After 30 days, it requires registration (which is also free).