GitHub is a platform that hosts public and private code and provides software development and collaboration tools. Features include version control, issue tracking, code review, team management, syntax highlighting, etc. Personal plans ($0-50), Organizational plans ($0-200), and Enterprise plans are available.
$4
per month per user
Sourcetree
Score 7.6 out of 10
N/A
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.
I actually recommend GitHub Desktop for any developer who uses git. It's far more friendly, has good functionality but not overwhelming, and you don't need to use it for GitHub repos. Sourcetree is only good for if you're wanting to perform complex actions or audit historical …
Sourcetree allows seamless integration across all widely used GIT services and is cross-platform compatible. This client is capable of managing workflows of any difficulty and its cross-compatibility eliminates the need to use different or multiple GIT clients altogether.
GitHub is an easy to go tool when it comes to Version Controlling, CI/CD workflows, Integration with third party softwares. It's effective for any level of CI/CD implementation you would like to. Also the the cost of product is also very competitive and affordable. As of now GitHub lacks capabilities when it comes to detailed project management in comparison to tools like Jira, but overall its value for money.
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.
Version control: GitHub provides a powerful and flexible Git-based version control system that allows teams to track changes to their code over time, collaborate on code with others, and maintain a history of their work.
Code review: GitHub's pull request system enables teams to review code changes, discuss suggestions and merge changes in a central location. This makes it easier to catch bugs and ensure that code quality remains high.
Collaboration: GitHub provides a variety of collaboration tools to help teams work together effectively, including issue tracking, project management, and wikis.
Not an easy tool for beginners. Prior command-line experience is expected to get started with GitHub efficiently.
Unlike other source control platforms GitHub is a little confusing. With no proper GUI tool its hard to understand the source code version/history.
Working with larger files can be tricky. For file sizes above 100MB, GitHub expects the developer to use different commands (lfs).
While using the web version of GitHub, it has some restrictions on the number of files that can be uploaded at once. Recommended action is to use the command-line utility to add and push files into the repository.
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.
GitHub's ease of use and continued investment into the Developer Experience have made it the de facto tool for our engineers to manage software changes. With new features that continue to come out, we have been able to consolidate several other SaaS solutions and reduce the number of tools required for each engineer to perform their job responsibilities.
GitHub is a clean and modern interface. The underlying integrations make it smooth to couple tasks, projects, pull requests and other business functions together. The insights and reporting is really strong and is getting better with every release. GitHub's PR tooling is strong for being web based, i do believe a better code editor would rival having to pull merge conflicts into local IDE.
It is one of the best Git GUIs out there, I have worked with multiple GUIs and this provides more insights and features compared to others, the Tree view and History helps keeping track and reverting commits, With help of different UI elements it helps the new developers to learn git using standards as well.
There are a ton of resources and tutorials for GitHub online. The sheer number of people who use GitHub ensures that someone has the exact answer you are looking for. The docs on GitHub itself are very thorough as well. You will often find an official doc along with the hundreds of independent tutorials that answers your question, which is unusual for most online services.
While I don't have very much experience with these 2 solutions, they're two of the most popular alternatives to GitHub. Bitbucket is from Atlassian, which may make sense for a team that is already using other Atlassian tools like Jira, Confluence, and Trello, as their integration will likely be much tighter. Gitlab on the other hand has a reputation as a very capable GitHub replacement with some features that are not available on GitHub like firewall tools.
Sourcetree allows seamless integration across all widely used GIT services and is cross-platform compatible. This client is capable of managing workflows of any difficulty and its cross-compatibility eliminates the need to use different or multiple GIT clients altogether.
Team collaboration significantly improved as everything is clearly logged and maintained.
Maintaining a good overview of items will be delivered wrt the roadmap for example.
Knowledge management and tracking. Over time a lot of tickets, issues and comments are logged. GitHub is a great asset to go back and review why x was y.