Differences and advantages between GitHub and GitLab

Question:

Today I became aware of GitLab, I saw that many big companies, like NASA and SpaceX, use it. I would like to know what are its differences with GitHub, main advantages and disadvantages in using it, if it is worth using it together with GitHub, or just choose and use only one of the two, etc.

Answer:

A basic comparison can be found on this page and has been freely translated here:

Release date of:

  • GitLab: September 2011
  • GitHub: April 2008

Both have been on the market for a considerable amount of time and are reliable.

Price:

  • GitLab: allows the creation of numerous public and private repositories for free, as well as numerous collaborators;
  • GitHub: allows the creation of numerous public and private repositories for free (The free private repositories for Github went into effect on 07/01/2019);

If you want to use the service without exposing the source code, use GitLab's private repositories. If you want to expose the code, it can be either GitLab or GitHub.

Code Review Tools:

  • GitLab: owns;
  • GitHub: owns;

It's not clear on the site what are considered code review tools, but it says they both have them.

Wiki support:

  • GitLab: owns;
  • GitHub: owns;

On both platforms it is possible to create Wikis for the repository for free.

Error tracking:

  • GitLab: owns;
  • GitHub: owns;

Both platforms have issues of control systems for management errors and bugs.

Private branches:

  • GitLab: allows you to create private branches for free;
  • GitHub: allows the creation of private branches only on paid plans;

CI/CD system:

  • GitLab: has free native CI/CD tool (Gitlab-CI-CD);
  • GitHub: depends on third-party tools (usually Travis-CI);

While GitHub works great with Travis-CI, Gitlab has a native system, so it doesn't need to rely on third parties.

Popularity:

  • GitLab: 100,000+ projects;
  • GitHub: 35,000,000+ projects;

Such data is probably quite out of date, but for sure the number of projects on GitHub far outnumbers GitLab. If your project is OpenSource and you expect to have community input, then surely GitHub is best suited. If you don't expect the community to naturally contribute, GitLab will do.


GitLab's graphical interface counts for a lot. It's nicer to use than the GitHub interface, although that's a private opinion and doesn't imply that the GitHub interface is bad. Other points that can affect the choice are integrations with other third-party tools besides CI/CD. GitHub works very well with the main tools on the market, while support for GitLab is much more limited.

Scroll to Top