+5 votes
62 views
in Tips & Tricks by (242k points)
reopened
GitHub vs. GitLab

1 Answer

+3 votes
by (1.6m points)
 
Best answer

Basic idea of ​​both platforms
The biggest differences
And the service?
Decision support

GitHub and GitLab sound similar and they offer something similar: source code management and hosting on a git basis. What are the differences?

image image

You can manage and host your source code via GitHub and GitLab, alone or in a team, free of charge or with a subscription. We'll show you the main differences and why you should use one platform or the other.

Basic idea of ​​both platforms

The offerings from GitHub and GitLab are as similar as the names. First of all: Unless you develop yourself, but know GitHub as a download source for software, you don't care about any difference. This works equally well on both platforms and is basically just a small side aspect of the actual range of services..

Both platforms provide the basis for source code management (SCM) based on Git. You can work on both platforms directly in the browser, in the terminal with Git itself or almost any Git environment such as IDEs and code editors. Both variants enable free private and public repositories. Both offer tools for working in teams, integration of and in third-party software as well as hundreds of advanced functions distributed across different cost models.

Anyone looking for the best platform for a large project with hundreds of developers, global infrastructure and given framework conditions will not be able to avoid a detailed evaluation. The differences in detail are too numerous for this and are also distributed over complex subscription models. GitLab itself offers a good starting point for this in a detailed feature comparison . This should of course be used with caution, but at least GitLab is fair enough to also list functions that only exist in the GitHub competition..

If, on the other hand, you "only" want to accommodate your private tools and scripts on one of the platforms, or if you want to run public projects without major IT management, the free offers can be compared to some extent across the board.

image
Typical for market leaders: GitHub's add-on range is huge.

The biggest differences

The most obvious difference is certainly the size and operator: GitHub is almost a monopoly, at least as far as the free repositories are concerned, and by far the best-known SCM portal. In addition, GitHub is now part of Microsoft, GitLab.com is operated by GitLab Inc. And the sheer size alone offers advantages: The probability of finding users and contributors ("employees") increases, third-party repositories are (even) easier to link to your own projects, and trust in longevity increases (see the set Google Code) and there are also more developers working on the platform and on specific third-party software. Overall, this also means that GitHub is considered the more stable, high-performance system..

GitLab counteracts this with features: Any number of free repos have long been a unique selling point of GitLab, only a few months ago GitHub followed suit. Even today, GitHub has more restrictions on this than GitLab. For example, both providers have the concept of protected branches, i.e. branches on which only specified users are allowed to work. With GitHub this only works with public repos, with GitLab also with private ones. The restriction of a maximum of three developers per private repo is even more dramatic. For example, if you would like to manage an application for your sports club with four colleagues in a private repo, you would have to switch to the minimum subscription for 7 USD per month at GitHub (which would then also enable protected branches).

image
Graphs offer both platforms, but when in doubt, GitLab is always a little prettier.

On a professional level, the topic of Continuous Integration / Continuous Deployment (CI / CD) should be mentioned: GitLab offers corresponding tools as standard, with GitHub they have to be retrofitted via third-party software. The topic of user management is probably even more prominent: GitHub only allows role-based rights management from the team version, which costs 9 USD per month per developer, while it is standard at GitLab. You can't really say that GitLab generally does more than GitHub, but at least in the free area, this tendency can be clearly observed.

GitLab can be installed as an open source alternative to GitHub in the free Community Edition without any further problems on your own hardware or a virtual server. At GitHub, this is only possible if you purchase the paid enterprise version.

And the service?

You will find many sources that attribute better usability to the GitLab interface in the browser - but that is clearly in the eye of the beholder, because the differences are not that big either. With one huge exception: GitHub's surface is fixed in size, while GitLab is properly scaled and offers a lot more workspace. When it comes to creating and changing code directly in the browser, GitLab is also clearly ahead, as you get a real little IDE here, whereas GitHub only provides a minimalistic text editor.

image
The GitHub interface is rather narrow and wastes a lot of space on the desktop.

As soon as you want to use the platforms not in the browser but via IDEs or editors on your desktop, the world looks completely different. Both platforms can be easily integrated into many IDEs via a URL and the user data and once this happens, you won't actually hear anything from GitHub and GitLab - they are then almost just simple storage locations. At least when it comes to the basics, i.e. the Git functionalities. However, if in doubt, GitHub can be found more often as a standard option in third-party software - the advantage of the more popular platform mentioned above.

If the whole subject of Git, SCM and GitHub / GitLab is completely new to you, you will have to get used to both systems equally. Usability is certainly not a big decision criterion.

image
The GitLab surface uses the entire width of the monitor - a plus point.

Decision support

If you want to keep it short, you have to generalize a little bit about the comparison and express it in a tendentious manner: GitLab offers more features in the free area and a more rounded overall package out-of-the-box as well as the cheaper contracts in the enterprise segment. GitHub, on the other hand, scores with infrastructure / performance and enormous market power.

Everyone has to decide for themselves whether the larger GitHub community or GitLabs More out-of-the-box tools is more important for beginners. Anyone who has bigger plans will have to carry out a point-by-point comparison with both providers anyway. And also with third-party software and integrations: Both platforms can be expanded with hundreds of functions, so that in the end, both platforms could probably do just about anything imaginable.

Last but not least, it should not be forgotten that both platforms do not stand still at all. For example, GitLab's standard container registry is often cited as a major advantage over GitHub. This is basically correct, but the same concept is also available on GitHub, but currently still as a beta with its own registration .

The choice is probably only really clear in two cases: GitLab, if you want to operate a free private repository with as few restrictions as possible. And GitHub, if you want to drive a global open source project with the greatest possible dissemination.


...