GitLab vs GitHub

Abhishek Doshi
4 min readDec 7, 2020

Let’s see who wins this battle!

Version Control repository management services are a key component in the software development Lifecycle. In the last few years, GitHub and GitLab positioned themselves as handy assistants for developers, particularly when working in large teams.

That means when talking about the differences and similarities of GitLab vs GitHub, we need to look beyond code repositories and take a look at the entire process.

Here are few key differences and similarities between GitLab and GitHub:

Authentication Levels🔐

  • With GitLab you can set and modify people’s permissions according to their role. In GitHub, you can decide if someone gets a read or write access to a repository.
  • With GitLab you can provide access to the issue tracker (for example) without giving permission to the source code. This is obviously great for larger teams and enterprises with role-based contributors.

Built-in CI / CD & going Beyond CD 👩‍💻

  • One of the big differences between GitLab and GitHub is the built-in Continuous Integration/Delivery of GitLab. CI is a huge time saver for many development teams and a great way of QA (nobody likes pull requests that break your application).
  • GitLab offers their very own CI for free. No need to use an external CI service. And if you are already used to an external CI, you can obviously integrate with Jenkins, Codeship, and others.
  • As GitLab mentioned with its latest release, GitLab is clearly addressing the DevOps market as well offering a operations dashboard that lets you understand the dependencies of your development and DevOps efforts.
  • It doesn’t stop there, however, as GitLab is addressing the topic of Auto CI and how to automatically run CI/CD without a human being actually setting it up.
  • So, how does CI / CD work inside the GitHub universe? Obviously, GitHub offers various 3rd party integrations — such as Travis CI, CircleCI or Codeship — for running and testing your code. However, there’s no built-in CI solution at the moment.

Issue Tracking 🎫

GitLab, as well as GitHub, provide a simple issue tracker that lets you change status and assignee for multiple issues at the same time. Bug reports and user feedback can automatically be sent to GitLab or GitHub. Or you can pre-filter those tickets inside bug tracker tools like Usersnap and manually send it to your development project.

Import & Export 📥

  • When thinking about moving to GitLab or GitHub, you should also consider the setup costs and resources needed for getting started. In that regard, the topic of available import and export features is pretty important.
  • GitLab offers a detailed documentation on how to import your data from other vendors — such as GitHub, Bitbucket — to GitLab.
  • GitHub, on the other hand, does not offer such detailed documentation for the most common git repositories. However, GitHub offers to use GitHub Importer if you have your source code in Subversion, Mercurial, TFS and others.
  • Also when it comes to exporting data, GitLab seems to do a pretty solid job, offering you the ability to export your projects including the following data:

— Wiki and project repositories

— Project uploads

— The configuration including webhooks and services

— Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, and other project entities

GitHub, on the other hand, seems to be more restrictive when it comes to export features of existing GitHub repositories.

Integrations 🧩

  • Both GitLab and GitHub offer a wide range of 3rd party integrations. Integrating your version control system with other application enriches your workflows and can boost productivity for your developers and your non-developers.
  • In order to check out if your favorite apps are compatible with GitLab and GitHub, I recommend checking out the documentation of GitLab and GitHub.

The community 🤝

  • GitHub positioned itself among its community of developers. And its popularity is mainly driven by the highly active GitHub community of millions of developers. On the other hand, GitLab undertook some great activities, such as hosting community events and connecting open source contributors.
  • If you’re looking for the biggest community of developers, chances are high that GitHub is the better place to be.

GitLab Enterprise vs GitHub Enterprise ⚔

  • On an enterprise level, you should consider further factors when making an informed decision of whether to use GitLab vs GitHub.
  • GitHub is highly popular among developers, and over the last few years, it gained popularity among larger development teams and organizations too.
  • On the other hand, GitLab is pretty strong on enterprise features, too. With different enterprise plans available, GitLab is particularly popular among larger development teams.
  • Here is, how GitLab and GitHub compare on pricing.
  • While GitHub’s enterprise plan starts at $21 per user/month, GitLab has many plans depending on your requirements starting from $4 /user/month to ranging up to $99/user/month

Conclusion!

Undoubtedly, GitHub is still the most popular git repository with the largest number of users and projects. However, GitLab is doing a fantastic job offering your entire development (and DevOps) teams great tools for more efficient workflows.

Hope you liked this comparison 💖

You can connect with me on: Instagram, Twitter, LinkedIn 💙

--

--

Abhishek Doshi

Google Developer Expert — Dart, Flutter & Firebase 💙💛