Github vs Bitbucket vs Gitlab

Today, distributed version control system are key components of collaborative software development. They enable software developers to manages changes to the source code and related files, create and maintain multiple versions in one central place. They keep track of each modification done to the code over time, and allows you to backtrack if necessary and undo those changes.

In this article, I will briefly introduce and compare three popular repository management services GitHub, Bitbucket and Gitlab.

GitHub

GitHub is a web-based Git or version control repository and Internet hosting service. It was originally launched in 2008 by Tom Preston-Werner, Chris Wanstrath, and PJ Hyatt. This is the largest repository host with more than 38+ million projects.

GitHub has a great, intuitive, informative and a familiar UI. Github is very fast when considering pushing, pulling and merging requests. GitHub free plan allows you to host an unlimited number of public repositories with the ability to clone, fork and contribute to them. But, if you want private repositories it’s going to cost you a pretty penny at $25 per month for your first 5 users, and then $9 per user after that.

Github being the first git hosting providers to market and having largest number of users provides one more advantage. That means that if you want people to contribute to your project, it helps to have it on Github because it increases the possibility of people contributing to your project.

Bitbucket

Bitbucket was also launched in 2008 by an Australian startup, originally only supporting Mercurial projects. In 2010 Bitbucket was acquired by Atlassian and from 2011 it also started to support Git hosting.

You can have unlimited private repositories for free as long as your team has no more than 5 people. This is the reason many people started using Bitbucket. But then, these people suffered because of slow pull and push requests, errors and difficulties in viewing repository and overall UX wasn’t that great.

GitLab

GitLab started as a project by Dmitriy Zaporozhets and Valery Sizov providing an alternative to the available repository management solutions in 2011.

GitLab is a git hosting solution with a very large toolset and a beautifully designed website. It is completely free for unlimited users, unlimited private repositories, and full access to most of the awesome features they provide. The best features they provide include built in Docker registry and integrated CI pipeline for your projects, syntax themes and 3rd party integrations. But, it is a little slower compared to GitHub when considering push and pull requests.

Conclusion

None of the above is superior to other. People can choose any one of them depending on their level of comfort with these products. But, there are scenarios where one can be recommended over the other. For example, you should go ahead with Bitbucket if you are using other products from Atlassian or you should choose GitHub if you are working on open source project.

Hope you like it. Any suggestions are welcome and would love to hear them.