+3 votes
185 views
in Web development by (242k points)
reopened
GitLab vs. GitHub: comparison of both version control systems

1 Answer

+4 votes
by (1.6m points)
edited
 
Best answer

GitLab vs. GitHub: comparison of the main differences
Same function, but different terminology
Operation and user interface
GitLab vs. GitHub: overview of the main differences
Licenses and installation on your own server
GitHub does not allow its own continuous integration
More user rights in the free version of GitLab

image

GitLab vs. GitHub: comparison of both version control systems

GitLab and GitHub are version control systems for managing source code in software development. Working as a team, these platforms allow developers to edit source code, make changes, and, perhaps most importantly, keep track of changes made, all simultaneously. Each change is recorded in a traceable way and can be reversed if necessary..

As their names suggest, both GitLab and GitHub are based on Git version software. This software uses so-called repositories , in which users upload the corresponding source code and then be able to edit it on the computer in the browser, in code editors or in a terminal.

If you don't have any experience with Git yet, we recommend our Git tutorial as a quick introduction to the subject and a review of the most important points. If you want to know a little more about GitLab, you can check out our detailed GitLab tutorial..

Index
  1. GitLab vs. GitHub: comparison of the main differences
    1. Licenses and installation on your own server
    2. GitHub does not allow its own continuous integration
    3. More user rights in the free version of GitLab
  2. Same function, but different terminology
  3. Operation and user interface
  4. GitLab vs. GitHub: overview of the main differences

GitLab vs. GitHub: comparison of the main differences

Aside from the main similarity of their common base on Git, there are some notable differences between GitLab and GitHub. One of the main factors is, for example, the enormous number of users of GitHub , probably the most popular version control system in the world and practically the one with the monopoly of the sector. It is no accident that Microsoft acquired GitHub in 2018.

It is clear that both the size and position that GitHub occupies in the market are also reflected on a practical level. The huge community of users increases the chances of finding collaborators for your own project , especially in the field of open source. In addition, the integration of repositories of other users is easier. It is the platform has more developers working on it and updating it continuously. Therefore, GitHub is considered to be the most stable and powerful platform ..

Licenses and installation on your own server

Both programs have a free version and an Enterprise version for companies, which, in turn, has numerous subscription options with different functions.

In principle, both platforms can be installed on their own server. But, in the case of GitHub , this requires the paid Enterprise version to perform. Instead, GitLab also allows you to host the program on your own server with the free Community Edition. The server stability of the hosted variant of GitLab is slightly worse than that of GitHub, so installing on your own server can be very advantageous.

GitHub does not allow its own continuous integration

Due to its wide distribution, GitHub is compatible with many programs that facilitate teamwork, for example, Docker, CI / CD tools, or project management applications. In the field of continuous integration it is essential, since GitHub does not offer its own continuous integration tools. Here, GitLab takes the lead and offers free continuous integration out of the box.

More user rights in the free version of GitLab

Another point that stands out in the GitLab vs. GitHub is that, for a long time, the great advantage of GitLab was that it offered infinite free repositories to its users, but GitHub saw its disadvantage and now offers this feature as well. Even so, GitHub continues to have more restrictions in its free version.

Both programs allow the use of protected branches, that is, development branches that can only be accessed by certain users, but GitHub only offers this possibility with public repositories, while GitLab also allows the use of this function with private repositories . The limitation of no more than three developers per private repository on GitHub is even more restrictive. If you want to work in larger teams , you have no choice but to contract a subscription and make the leap to the Enterprise version.

In general, GitHub offers fewer user rights : while GitLab offers multi-role rights management by default, GitHub requires paid team subscription to access a similar feature. In addition, GitLab has a container registry , in which users store their Docker images created with CI tools and then manage them as part of the GitLab repository.

Same function, but different terminology

Since both GitHub and GitLab are based on Git, migrating from one platform to the other poses no major problems. As a general rule, repositories, wikis, pull requests, and items are simply imported. However, there are some terminological differences between the tools, as shown in the following table:

GitHub GitLab Meaning
Pull request Combination request Request to integrate a branch in the master
Gist Snippet Piece of code
Repository Draft Container with repository, attachments, and project-specific settings
Organization Group Level at which projects are assigned to users

Above all, the term? repository ? It tends to cause confusion when making the change, since many users use it as a synonym for? project ?, although in the case of GitHub it includes the Git repositories and project assets. For this reason, in GitLab it is called? Project? to this container, in order to indicate that it includes all important project data.

Operation and user interface

At first glance, GitLab is neater and clearer thanks to its well-structured user interface, which is why many users say that its handling is simpler and more intuitive. In GitLab, items are not only listed in the list, but can also be organized and managed in a desktop view.

Another big advantage over GitHub is that GitLab's user interface (UI) is scalable and can be flexibly adapted to screen size, while GitHub only offers a fixed standard size. For this reason, in case of visualization on mobile terminals, GitLab is usually the best choice as an alternative to GitHub.

The comparison also reveals that editing and code creation is a bit easier in GitLab, since the tool has an integrated development environment (IDE). Instead, GitHub only has a very minimalist text editor.

Although to be fair, it must also be said that these differences are in the background of the GitLab vs. GitHub if you use the platforms on the desktop and integrate them into third-party editors or IDEs, since, in this case, we hardly deal with the interface itself. Also, if you haven't used either tool yet, you'll have to do pretty much the same familiarization work.

GitLab vs. GitHub: overview of the main differences

GitHub GitLab
Items can be crawled across multiple repositories Items cannot be crawled across multiple repositories
Private repositories require the paid version Private repositories are allowed in the free version
There is no free option to host your own server Free option to host your own server
Continuous integration only through third party tools like Travis CI, CircleCI etc. Free continuous integration included
Does not have an integrated deployment platform Software deployment through Kubernetes
Full comment tracking No comment tracking
No option to export items as CSV file Option to export items as CSV file by email
Personal dashboard to track pull items and requests Analysis dashboard to plan and monitor projects

...