Powerful tool for advance git developers, overwhelming for the rest
Use Cases and Deployment Scope
Some developers use Sourcetree as a way of managing their git repositories. You can see what branches are present on the remote, when they were made and if/when they were closed. It's good for visualising lots of branches and commit history at the same time. There's lots of information in Sourcetree, but this can sometimes make it overwhelming.
For advance git developers or auditors it can be helpful when reviewing the history of a repo.
Pros
- 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.
Cons
- As an Atlassian product i'd have expected smart integrations/features with their other developer products like Jira or BitBucket, but this is not the case. It can sometimes pick up on Jira ticket IDs and show them as a label or as a unique piece of work to follow. But there's no actual integration to Jira and is just simple pattern matching.
- For the majority of developers it's just overwhelming and overkill. There's a plethora of metadata, supporting information, and many many actions/tools to help perform complex git actions. This is great if you're managing complex repos or need to perform an audit, but to the average user it's just not a user friendly experience due to how bloated it can feel.
- Very simple git actions such as 'git pull' have been massively overcomplicated. When pressing the pull button you get a popup with multiple dropdowns, checkboxes and settings on how you want to pull and the followup actions to run after the pull, both on the remote repo and local repo. It's just unnecessary and adding complexity where it's not needed.
Likelihood to Recommend
If you're looking to get into some complex git behaviours or need to dive into the hidden metadata about a repo then Sourcetree is great. It's got a lot of potential and is actually very powerful, but 99% of users just aren't going to need these features or this information. As a result, the interface and user experience is bloated and complex.
