Bitbucket vs GitHub: What's the Best For Hosting Your Code?
Update (2019/01): GitHub now offers unlimited private repositories with up to 3 collaborators for a private repository.
In this post we look at the differences between GitHub and Bitbucket, two very popular web-based version control hosting services.
Regardless of whether you choose BitBucket, GitHub or a self-hosted repository, connecting a repository to DeployBot is very simple. (Psst...If you're already a Bitbucket user, this Bitbucket Deployment Guide will help.)
Round 1: Bitbucket vs GitHub Features
Both Git and Mercurial repository hosting are available with Bitbucket. Pull Requests make it easier to review code while inline discussions simplify sharing knowledge among your team. Branch permissions give you control over who can write or merge to specific branches. So only the right people can make the right changes. And when something in your Bitbucket repository changes, diff views helps you better understand what is happening.
Bitbucket supports Git Large File Storage (LFS) which means shorter clone and fetch times for those working with large files.
Bitbucket repositories can be organized into projects, helping the team focus on a specific outcome. Additionally, 3rd party integrations allow you to integrate Bitbucket into several facets of your existing workflow, making the complete development process much more efficient. Cloud versions of Bitbucket offer built-in continuous delivery, issue tracking and wikis. The software easily integrates with Bamboo and Confluence in addition to Atlassian's own Jira Software Cloud for additional setup customization and hosting. And for those of you using Trello to manage project tasks across a team, Bitbucket offers Boards through a sleek Trello integration.
Like Bitbucket, GitHub offers a wide variety of features. Pull Requests allow you to conduct reviews, assign tasks, and discuss ideas. As with Bitbucket, GitHub diffs allow you to compare versions of source code so you can see the changes in your repository. Comments and conversation take place within your code, helping to provide clear feedback.
Branch permissions restrict who can push to a specific branch and repositories can be set to require pull request reviews and status checks, helping to reducing errors.
GitHub also offers a suite of integrated project management items including cards, notes, tasks, milestones and assignees. This helps coordinating the team and keeping everyone on track. If you need something special, you can always use one of GitHub's numerous 3rd-party add-ons.
With a community of over 20 million users, GitHub users will find that there’s a massive amount of community support available. Too, GitHub is especially popular for open source projects, and the platform boasts trending repos and showcases popular topics - so if you want to build something specific, you'll likely find a repo you can fork and customize without having to search too deeply.
Round 2: GitHub vs. Bitbucket Pricing
Direct comparison of pricing between Bitbucket and GitHub is difficult due to the complexity in offerings between the two organizations. So let’s start off with the free version that’s offered by both Bitbucket and GitHub - and the differences between each company's free offering.
Free Individual Plan // Bitbucket & GitHub
The free plan offered by Bitbucket and GitHub is aimed at solo developers and small teams. When comparing the free plan offered by either Bitbucket or GitHub, it’s apparent that there’s a trade-off to be made between the number of users vs. the number of private repositories.
Bitbucket offers unlimited private and public repositories, but caps the number of users in its free plan at five. GitHub offers unlimited users and public repositories, but provides no private repositories in its free plan. This is something you'll need to consider if you're a newbie coder who's shy about sharing code, or you're working on a stealth project that you'd like to keep private.
Although GitHub offers unlimited collaborators in its free plan, team and user permissions are not available. That poses some challenges when working with a team where you want to finer control over access.
GitHub Developer Plan // GitHub
GitHub offers a developer plan at $7/month which includes a personal account, unlimited private and public repositories and unlimited collaborators. For solo developers interested in GitHub, who need private depositories, this is a viable option.
Team Plan // Bitbucket & GitHub
Both GitHub and Bitbucket offer team plans.
As with the free plan, Bitbucket paid plans offer unlimited private repositories. But they have two types of team plans (Standard and Premium) which differ in the features offered.
Bitbucket Standard (for growing teams) starts at $10/month for 5 users, plus $2/month for each additional user. Bitbucket Premium (for large teams) starts at $25/month for 5 users, plus $5/month for each additional user.
Bitbucket Premium includes more build minutes for Bitbucket Pipelines, greater Git Large File Storage, plus additional features like required merge checks, IP whitelisting, required two-step verification and smart mirroring.
GitHub has one team plan which starts at $25/month for 5 users, plus $9/month for each additional user. This paid plan provides an organization account with unlimited public and private repositories with team and user permissions.
Business/Enterprise Plan // Bitbucket & GitHub
Bitbucket Server and Data Center are the two enterprise plans offered by parent company, Atlassian. As the name of the plan implies, the Server plan is hosted on a company’s own server and requires a one-time payment ($2,000 for 25 users). This plan includes a perpetual license and one year of free maintenance.
The Data Center plan is available at $1,800 per year for 25 users and is hosted by the Bitbucket data center. It offers advance-active clustering for high availability, smart mirroring for performance across geographies, and Atlassian-supported disaster recovery.
GitHub offers two business plans, Business on GitHub.com and GitHub Enterprise, starting at $21/month per user. One is hosted on GitHub.com while the other is hosted on your servers, AWS, Azure or GCP. In the case of GitHub Enterprise, licensing is available in blocks of 10 users charged annually. Both plans offer increase levels of support versus other GitHub plans.
And the winner is...
...really up to you. Both of these options are easy to use, offer a quality product for a reasonable price, and have a well-earned reputation in the developer world. However, as stated previously, if you need or want to keep your repository private, you'll need to use BitBucket or pay the small fee for an upgraded GitHub account. Otherwise, they both offer the features you need in a version control hosting service, and do so very well.
Of course, no DeployBot Bitbucket and Github comparison would be complete without also mentioning that we make it easy to connect DeployBot to any repository, wherever it's hosted, for faster, smoother code deployments. It's kind of what we do.
Try it and see for yourself!