In our latest tools guide, we wanted to gather insights from a number of real users of these two giants in the Git & version control space to help you decide between using Github or Gitlab for your latest software development project.
In Defense Of Github
“GitHub is a common and easy-to-use website to host code in a way that's shareable with a large number of people”, states Melanie, Content Director at KitelyTech.
“You can share and collaborate with your team, or work on projects with other developers that aren't formally involved in your project. Plus, it's secure.”
“GitHub is used mostly for open source projects, so it may not be the best solution for proprietary software. GitLab might be a better solution for closed source projects but you may have to pay for this privacy, however, as GitHub is free to use.”
Philipp Veller, a Software Developer, also gave his thoughts on the positives of Github; “I always thought of Github as being more directed towards the Open-Source space but I have recently found out that Gitlabs projects are also public and can be open-source.”
“But obviously most open source projects are simply managed on Github. I currently work actively on one project that is managed on Gitlab.”
“However, my own portfolio and some of my clients have their projects hosted on Github. And if I had the choice, I would always choose Github over Gitlab.”
“With Github, everything feels simpler to set up. They have a modern UI and all the features are neatly connected, being able to link PRs to issues, epics etc. across projects. Github has much better documentation about all its features and services like CI. It just feels more integrated to the developer while also providing great UX.”
“Gitlab on the other hand feels like an awkward, aged port of GitHub, even if they mostly match features. Gitlab is largely focused on big corporates that want to keep their code base private.”
“Another great attribute of Github is that they have a much bigger community around their platform which helps with services built around that community i.e. pre-made CI scripts/packages.”
If you are looking to explore test management that is compatible with Github then you may wish to consider the test management tool offered by TestQuality as it is purpose build for this platform.
In Defense Of Gitlab
Tushar Sharma, Founder and writer at TopTech10s gave his reasons for preferring Gitlab in the following response; “The Burndown Charts that Gitlab offers prove to be of great value when I want to track the progress of the project that I am working on.”
“I strictly prefer Gitlab when I am working with a huge team because it allows me to grant permissions on the basis of a developer's role.”
“The biggest reason to go for Gitlab is its built-in CI, once you start using it you don't have to worry about linking a 3rd-party CI. Gitlab also offers private repositories even for free accounts.”
In The Middle
“The decision between GitHub vs. GitLab has been an easy choice for many years”, said Dawid Karczewski, CTO at Ideamotive.
“GitLab offered free tier accounts for private projects with unlimited group size, so everyone that had a tight budget has chosen GitLab in the past. GitLab also was always built to be more than a simple git management tool - from the start, it had CI/CD features built-in, and that was another big argument favouring this tool.”
“Luckily for us developers, GitHub started to pump more effort into being not only the best in availability and performance but also to give us some features that were present in GitLab for a long time, e.g. GitHub Actions as a response to GitLab's CI/CD.”
“GitHub also introduced a free plan, although it's still more limiting than the one offered by GitLab. Thanks to that effort we now have a healthy situation, where there's no wrong answer when choosing a repository management system, but there are still areas in which one is better than the other.”
“Probably the biggest advantage of GitLab is it’s self-hosted community edition. It's an ideal solution for companies who don't want their precious source code to go outside their infrastructure. It can also be easily upgraded with paid plans to include even more features if you want to have robust CI/CD, error reporting, server management, and project management built-in.”
“GitLab might become the 'one platform to rule them all' solution. As for GitHub - there is an Enterprise self-hosted solution, but you have to go through sales to even get a price tag on that version of GitHub.”
“If you consider only SaaS solutions, then in my opinion both choices are great. Differences are tiny, e.g. GitHub has great integration with Heroku while GitLab integrates nicely with Kubernetes, their UIs are also totally different, but plenty of important features are already implemented in both solutions, so it often just comes down to what you are most experienced with.
If you are working with Kubernetes then you may also be interested in this guide on Kubernetes management and the tools that you should consider to make container led development easier.
Luke Kowalski creator at TechTreatBox also spoke highly of both these tools and has used both for various projects; “I'm a senior front-end developer with 10+ years of experience. I've used Github, Gitlab, and even Bitbucket multiple times during my career”.
“I’ve used Github or Gitlab, they both have pros and cons. They also have very similar features as they focus on solving the same problem.”
“There are minor differences that may be a game-changer, but whether they are needed or not it's a project-specific requirement and it's really hard to give general advice to a detailed problem.”
“The truth is that the vast majority of developers are on Github. That's why I use it for all my open-source projects. It's easier to get feedback, it's easier to find people that want to collaborate and it's easier to apply for jobs when you have a proper Github profile.”
“I use GitLab for my personal projects. I started doing so a long time ago when GitLab was offering free private repositories (GitHub introduced this feature in 2019).”
“Now I still use it because of the great time tracking feature which helps to add estimates and record time spent on issues with no effort. It's all I need for client-based projects.”
We hoped that you enjoyed this guide on Github vs Gitlab. Want to keep reading about these tools? Then why not checkout this resource which also includes Bitbucket.