GitHub and Bitbucket are two of the best known code repositories out there. If you’re a developer you’re almost certainly aware of them. And even if you weren’t before, you’re probably aware of the fact that Microsoft recently bought GitHub for an impressive $7.5 billion. Quite an acquisition! We’ll get to theories on why they did that a little later…
In this article, we’re going to weigh up the pros and cons of the two platforms and explain why – in our humble opinion – Bitbucket is the better bucket for your bits. For people who are new to either Bitbucket or Github, I’ve included a short recap in this introduction. If you’re already familiar with the tools, feel free to skip this section.
Why do I need a code repository like Bitbucket or Github?
In brief, for source control.If you’re updating a code base or working with anyone else then it’s crucial to be able to roll back changes and to make the repository accessible to colleagues and collaborators. Time to get organised engineers!
So what are GitHub and BitBucket? Well, both were launched in 2008…
GitHub is the most popular version-control system out there, with some 57 million code repositories on file. It is also loved by the open source community – as public repositories are free.
As the name suggests, Github only supports Git (and not Mercurial or SVN). It is written in Ruby and Erlang. It is available for Windows, Mac and Android
- collaborative code review;
- an integrated issue tracker;
- milestones and labels for projects;
- syntax highlighting;
- branch comparison views;
- support for 200+ languages and data formats;
- two-factor authentication;
- and Github pages, which allow you to publish and host from within Github itself
It has integrations with everything from Asana to Zendesk, plus CloudBees, CodeClimate, Heroku and Travis; and with cloud hosting providers including AWS, Google Cloud and Windows Azure.
Note: you can set up a Jira Github integration .
Now tell me about Bitbucket
Bitbucket supports Git and Mercurial VCS (but not SVN). It is written in Python and uses the Django web framework. It is available for Mac and Windows and Android via an app. Bitbucket comes with SOC 2 Type II security compliance
Important features include:
- pull requests and code reviews;
- branch comparison and commit history;
- and unlimited private repositories for free (for up to five users)
Integration are offered for Bamboo, Crucible, Jenkins and Jira.
Note: you can also set up a Jira Bitbucket integration.
It supports external authentication with Github, Facebook, Google and Twitter. At the enterprise level, it provides smart mirrors for distributed teams, speeding up cloning and fetch times as well as ensuring work is secure and synced
So, now over to the big question why you are probably reading this article:
“What actually makes Bitbucket better than Github?”
1. Bitbucket is more flexible than Github
While GitHub comes with a lot of features and allows you to create your own workflows, BitBucket has more flexibility built in.
For example, BitBucket gives you more options about the version control system that you use (incorporating Mercurial as well as Git).
This means you can work precisely the way that you want, without having to try and jam a square peg into a round hole.
BitBucket can also import from Git, CodePlex, Google Code, HG, SourceForge and SVN. While GitHub is limited to Git, SVN, HG and TFS.
2. Bitbucket gives you unlimited private repositories
Having a single account on a single platform makes managing things far, far easier.
In this respect, BitBucket works for you, allowing you to have as many private repositories as you want.
And you can share them with five collaborators for free.
This allows you to separate personal and business projects.
You can also separate your work for different clients without hassle or unnecessary management.
Given the potential value of your code, this is extremely important – and BitBucket makes it simple.
3. Bitbucket has better pricing for private work
Yes, Github is considered to be free. But that’s only if you allow your work to be public.
If you want to have any private repositories at all on GitHub, you’ll have to cough up some cash.
Have a look at the pricing comparison:
BitBucket, on the other hand, is totally free for up to five users. This includes the unlimited private repositories we just mentioned. Given that you can have unlimited public repositories as well, it’s hardly surprising that there are a number of large open source projects on the platform.
BitBucket also offers unlimited private repositories to teachers and students for free – which is a hard price to say no to.
4. Continuous Integration / Delivery is built-in by default
With BitBucket, Continuous Integration and Delivery is tied into your source code from the get-go. That means there’s far less setup and management needed when it comes to users, repositories and servers.
That doesn’t apply when it comes to GitHub – meaning everything has to be setup on a case-by-case basis and information ends up being siloed in different tools.
5. Bitbucket is trustworthy
It seems commentators are skeptical about precisely what Microsoft’s interest is in GitHub.
In fact, it may very well be the fact that Github offers access to an enormous ecosystem of developers and what is effectively a coders’ social network. Which is particularly important as it still sits outside the purview of LinkedIn – another recent Microsoft acquisition.
This was apparent after the huge spike in migrations of repositories to Bitbucket, straight after the announcement that Microsoft acquired Github:
BitBucket has been part of the Atlassian family since 2010 and is a major part of their offering for the engineering community.
Given this, it’s unlikely that they’ll be looking to rock the boat or to squeeze the product for revenue. And there’s no reason that that situation will change any time soon.
6. Smarter semantic searching
The little things can make all the difference. BitBucket’s search crawls your syntax to find definitions that match your query, rather than just variable names.
That makes search far faster and more powerful than it would otherwise be. And isn’t that what good software is meant to do?
7. Bitbucket has a powerful Jira integration
“Atlassian is to software what Apple is to design” – FORBES
Ever since Atlassian went public in 2017 with an estimated market value of +10 Billion USD, the exponential growth of their product suite seems virtually unstoppable. And Jira is their flagship product.
Jira, was originally built as a bug trackers, but is so flexible now it can be used for: bug tracking, issue tracking, a service desks and project management.
Note: Learn more about Jira by downloading our Intuitive Jira Guide for Users.
BitBucket integrates seamlessly with the Jira task tracking tool (unsurprisingly given that both are owned by Atlassian).
If you use the two tools together you can set code commits to automatically update Jira issues.
And you can create branches straight from Jira – enabling fast, fluid workflows. This is one of BitBucket’s biggest benefits, tying the entire development process together with a set of integrated, synchronized tools.
Even better, the integration can be set up in a matter of seconds. And who doesn’t want code deployment and task tracking working in perfect harmony?
8. Bitbucket has a powerful Trello integration
BitBucket even comes with an easy-to-use Trello account, if you don’t want to get into Jira for whatever reason.
Because, yes, Trello is also part of the Atlassian software family.
Here you can read why Jira is better than Trello (even for non-developers)
Downsides to BitBucket
I know it seems I have been picking on Github a bit in this post. But, needless to say, it does have its strengths.
So to bring some nuance to my arguments, I’ll grant Github the following strengths:
It’s hard to argue that GitHub is more universal than BitBucket – and it brings a bustling development community with it. That’s also augmented by easy-to-use tools for finding and sharing code. However, GitHub’s currently leading status isn’t one that it’ll necessarily stay the same forever.
While there’s plenty going on on BitBucket – and there are plenty of native plugins available to extend the platform – GitHub comes ahead in this category.
That said, BitBucket does have some great apps.
And Bitbucket Connect makes deep integrations simple.
One example of a great BitBucket app is SourceTree, created by Atlassian, which provides a graphical interface and visualizations for your projects.
There’s also the Slack app – which allows you to pull information and comment, merge and prompt code reviews, all from within the channel.
What’s more, if you look at the wider landscape of the Atlassian Marketplace, there are an absolutely huge range of apps available that can help you work via other Atlassian products.
To summarize the benefits that we’ve discussed, BitBucket:
- Is abolutely more flexible – with access to a wider range of version control systems
- Has a powerful Jira integration – to make task tracking simple
- Has a powerful Trello integration
- Gives you unlimited private repositories for free, for up to 5 users (and unlimited public repositories at no extra cost)
- Arguably has better pricing, depending on your needs
- Has continuous integration and delivery built-in
- Has smarter semantic searching
- And isn’t part of a larger Silicon Valley power play! ;D
If you are looking for an alternative to GitHub, or are looking for a more flexible code repository, then BitBucket may well be the start and the end of your search.
Equally, with a small team, the BitBucket pricing structure may make more sense for you.
And if you use Jira for task tracking already, then plugging in BitBucket is a simple step to coding nirvana.