Sourcetree, by Atlassian, is a free version control client for Mac and Windows that works with Git and Mercurial repositories. It's distributed version control allows developers to visualize code, review changesets, stash, cherry-pick between branches or commit with a single click.
$0
per month
Pricing
Git
Sourcetree
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Git
Sourcetree
Free Trial
No
No
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Git
Sourcetree
Considered Both Products
Git
Verified User
Employee
Chose Git
We migrated from svn to Git and the transition was smooth. We have tools that migrate the complete history along with the authors of the various files and the history from svn to Git. The migration was seamless and easy. We can see complete history of check-in as if we were …
GIT is good to be used for faster and high availability operations during code release cycle. Git provides a complete replica of the repository on the developer's local system which is why every developer will have complete repository available for quick access on his system and they can merge the specific branches that they have worked on back to the centralized repository. The limitations with GIT are seen when checking in large files.
Sourcetree is a great tool for any Git user. Whether you're well versed using Git commands in the terminal or a newbie, this tool wonderfully supplements your workflow. A quick glance at the UI and you know where your project stands. I find it most helpful when I need to determine what changed in a particular file in past commits. Having a visual graph of branches helps me to understand the big picture. Even though I'm comfortable operating Git most often in the command line, I always have Sourcetree open to check my work and see where my colleagues are.
There's lots of information about the repo, commits, authors, branches etc. For example you can explore the metadata of a single commit such as when it happened, it's ID, it's parent ID, the author, and any labels.
You can explore the history of the repo as a branch graph - This can be helpful to see what branches were live and what other work was going on at that time. You can explore each branch, commits etc. And the visualisation makes it easier to understand how 'busy' a repo was at a certain time period and see how branches were merged.
There's lots of functions and features which can make complex git actions more streamlined and GUI based. This is great for anyone looking to perform complex git actions or really dive into 'under the hood' management of repos. The merge conflict actions in particular can be helpful.
Adding tooltips when hovering UI elements would make Sourcetree even more intuitive for beginners
During installation, Sourcetree suggests creating or signing into Bitbucket account. This step can be skipped and is not a requirement but it's not intuitive whether these accounts are required to use Sourcetree.
Git has met all standards for a source control tool and even exceeded those standards. Git is so integrated with our work that I can't imagine a day without it.
Sourcetree has lots of information about the repo, it's history, metadata, and has lots of features, tools and actions. However absolutely none of this is helpful to the average developer and actually slows down the developer lifecycle and can be overwhelming. In my opinion, Sourcetree should only be used by those wanting to do complex git tasks or auditing. For everyone else, this tool will slow you down and make things needlessly complex.
I am not sure what the official Git support channels are like as I have never needed to use any official support. Because Git is so popular among all developers now, it is pretty easy to find the answer to almost any Git question with a quick Google search. I've never had trouble finding what I'm looking for.
I've used both Apache Subversion & Git over the years and have maintained my allegiance to Git. Git is not objectively better than Subversion. It's different. The key difference is that it is decentralized. With Subversion, you have a problem here: The SVN Repository may be in a location you can't reach (behind a VPN, intranet - etc), you cannot commit. If you want to make a copy of your code, you have to literally copy/paste it. With Git, you do not have this problem. Your local copy is a repository, and you can commit to it and get all benefits of source control. When you regain connectivity to the main repository, you can commit against it. Another thing for consideration is that Git tracks content rather than files. Branches are lightweight and merging is easy, and I mean really easy. It's distributed, basically every repository is a branch. It's much easier to develop concurrently and collaboratively than with Subversion, in my opinion. It also makes offline development possible. It doesn't impose any workflow, as seen on the above linked website, there are many workflows possible with Git. A Subversion-style workflow is easily mimicked.
I tried GitHub Desktop for a couple of days, but it is just not visual enough for me. It has no graph display for branches. Too much clicking is required to get info that the Sourcetree UI shows by default. Sourcetree gives you that "Big Picture" dashboard. GitHub Desktop seems unfinished to me due to its lack of this overview screen.
Git has saved our organization countless hours having to manually trace code to a breaking change or manage conflicting changes. It has no equal when it comes to scalability or manageability.
Git has allowed our engineering team to build code reviews into its workflow by preventing a developer from approving or merging in their own code; instead, all proposed changes are reviewed by another engineer to assess the impact of the code and whether or not it should be merged in first. This greatly reduces the likelihood of breaking changes getting into production.
Git has at times created some confusion among developers about what to do if they accidentally commit a change they decide later they want to roll back. There are multiple ways to address this problem and the best available option may not be obvious in all cases.