GitHub vs GitLab vs Bitbucket

Comparison between three of the most popular software development and version control tool.

I've been using GitHub to host our code for 4 years now. Before that, I was part of Adobe & Amazon, both of which used self hosted solutions (and honestly, I cared very less about code version control at that time 😛).

I've used GitLab & Bitbucket a few times, primarily when working with agencies/ clients and they already had a preference. But I got curious then on how you decide which VCS to use.

GitHub of course has a larger open-source community and it fits well if you want to showcase your code or open source some parts. Particularly useful for independent devs or makers.

Earlier GitHub had no private repos on the free plan so I knew some people who used Bitbucket primarily for their generous free plan. Things however changed now with Microsoft taking over & Satya Nadella's affinity towards open source.

Curious to know a few things around this - 

1) What VCS do you use currently? GitHub, GitLab, Bitbucket, something else/ better?

2) How did you choose? 

3) What would be your general recommendation to a) Indie dev/ maker b) Small teams (1-20 members) c) Large teams ?

P.S. Read some important tidbits on the working of a Scrum team and its structure in this blog.


Diwakaran, a software developer at AppExert Labs, said:

Back then, GitHub did not have private repos for collaboration for free accounts. So Gitlab looked good for pet projects and we took free plan to meet our needs. I worked with couple of freelancers and since then been using Gitlab. 
But now with Microsoft support for Github, and unlimited private repos with collaboration, along with few Azure combo (Azure static webapps with Github), now thinking whether to switch to Github.
I have used bitbucket for my official projects at work, but for personal,hobby projects Github,Gitlab looks good enough.

For usage with Atlassian products or complete Project workflow with task maintenance, etc bitbucket would be good enough. 
For super small teams before scaling, I would recommend Github.

Micheal, maker of Focused App, said:

I managed to ride the Github Student Development Pack wave for a good 5 or so years, so I was always able to make private repos.

When that expired Github coincidentally decided to make the private repos free, so staying with them was a no brainer.

I've used Bitbucket too, but only because previous clients had their repo's on it.

I would consider myself a light user of Github/Bitbucket though. I only really use them to store code.

Boris, founder of Remote More, said:

We switched from GitHub to GitLab a few months ago.

Primarily because GitLab was free for us, and GitHub was not back then.

The transition was surprisingly easy - it was maybe one day of lost productivity. There was a tool to import everything from GitHub into GitLab. And we kept the GitHub account just in case, with just 1 user on the free plan.

GitLab has lots of additional features - which causes them to eat the market share of GitHub rather fast. I'm not sure if was just because of the free pricing tier, or also the additional features. I guess both of them were the reason.

GitLab seems to be a good choice for smaller teams - due to being free for smaller teams, and having additional features for free.

But GitLab's pricing scales aggressively for bigger companies, so this is something to keep in mind if you expect to be a big company in the next 1-2 years.

That's my quick review of the two :D

Mark, an experienced remote worker, said:

I think GitLab has the most generous free plan and also provides CI/CD out of the box, so it should be a more popular choice for small teams. However if you're working alone & want to showcase/ open source your work (which you rightly pointed out), GitHub makes more sense since it has a huge community.

Personally, I've used all 3 but use GitHub to host my personal projects.