GitLab und GitHub sind Ver­si­ons­kon­troll­sys­te­me zur Ver­wal­tung von Quellcode in der Software-Ent­wick­lung. Bei der Arbeit im Team können Ent­wick­ler mithilfe dieser beiden Platt­for­men gleich­zei­tig Quellcode be­ar­bei­ten, Än­de­run­gen vornehmen und – viel­leicht der wich­tigs­te Aspekt – den Überblick über alle vor­ge­nom­me­nen Än­de­run­gen behalten. Jede einzelne Änderung lässt sich genau nach­voll­zie­hen und bei Bedarf rück­gän­gig machen.

Wie die Be­zeich­nun­gen bereits vermuten lassen, basieren sowohl GitLab als auch GitHub auf der Ver­sio­nie­rungs-Software Git. Diese arbeitet mit so­ge­nann­ten Re­po­si­to­ries, in die Nutzer den je­wei­li­gen Quellcode hochladen und im Browser, in Code-Editoren oder in einem Terminal gemeinsam be­ar­bei­ten können.

Falls Sie bislang noch keine Erfahrung mit Git haben, empfiehlt sich für einen schnellen Einstieg in die Materie unser Git-Tutorial mit den wich­tigs­ten Grund­la­gen. Wer sich näher mit GitLab befassen möchte, kann zudem einen Blick in unser um­fang­rei­ches GitLab-Tutorial werfen.

GitLab vs. GitHub: Wich­tigs­te Un­ter­schie­de im Vergleich

Neben der wichtigen grund­le­gen­den Ge­mein­sam­keit, auf Git auf­zu­bau­en, gibt es einige ent­schei­den­de Un­ter­schie­de zwischen GitLab und GitHub. Einer der wich­tigs­ten Faktoren ist bei­spiels­wei­se die enorme Nut­zer­zahl von GitHub, das als be­kann­tes­tes Ver­si­ons­kon­troll­sys­tem eine Quasi-Mo­no­pol­stel­lung innehat. Nicht von ungefähr wurde GitHub 2018 von Microsoft über­nom­men.

Die Größe und Markt­po­si­ti­on von GitHub hat durchaus auch prak­ti­sche Folgen. Durch den riesigen Pool an Nutzern steigt gerade in Open-Source-Projekten die Chance, Mit­ar­bei­ter für das eigene Projekt zu finden. Außerdem lassen sich Re­po­si­to­ries von anderen Nutzern leichter einbinden. Insgesamt arbeiten mehr Ent­wick­ler an der Plattform und erweitern diese kon­ti­nu­ier­lich. Das führt dazu, dass GitHub als die stabilere, leis­tungs­fä­hi­ge­re Plattform gilt.

Lizenzen und In­stal­la­ti­on auf dem eigenen Server

Sowohl GitLab als auch GitHub verfügen über eine kos­ten­lo­se und eine En­ter­pri­se-Version für Un­ter­neh­men, die sich wiederum in etliche Abo-Modelle mit ver­schie­de­nen Funk­tio­nen un­ter­teilt.

Beide Platt­for­men lassen sich prin­zi­pi­ell auf einem eigenen Server in­stal­lie­ren. Bei GitHub ist das al­ler­dings nur in der kos­ten­pflich­ti­gen En­ter­pri­se-Version möglich. GitLab erlaubt das eigene Hosten hingegen auch in der kos­ten­frei­en Community-Edition. Die Ser­ver­sta­bi­li­tät ist bei der ge­hos­te­ten Variante von GitLab insgesamt etwas schlech­ter als bei GitHub, weshalb die In­stal­la­ti­on auf dem eigenen Server durchaus sinnvoll sein kann.

Keine eigene Con­ti­nuous In­te­gra­ti­on bei GitHub

Durch die weite Ver­brei­tung von GitHub ist der Dienst mit zahl­rei­chen Pro­gram­men kom­pa­ti­bel, die die Team­ar­beit er­leich­tern, bei­spiels­wei­se Docker, CI-/CD-Tools oder Pro­jekt­ma­nage­ment-An­wen­dun­gen. Gerade im Bereich Con­ti­nuous In­te­gra­ti­on ist das aber auch nötig, da GitHub keine eigenen Con­ti­nuous-In­te­gra­ti­on-Tools anbietet. Hier hat das GitLab-Tool die Nase vorn, das stan­dard­mä­ßig kos­ten­lo­se Con­ti­nuous In­te­gra­ti­on be­inhal­tet.

Mehr Nut­zer­rech­te in der kos­ten­frei­en Version von GitLab

Als großer Vorteil von GitLab galt lange Zeit, dass beliebig viele kos­ten­freie Re­po­si­to­ries für Nutzer zur Verfügung standen. Hier hat GitHub nach­ge­zo­gen und bietet dieses Feature in­zwi­schen ebenfalls an. Dennoch gibt es bei GitHub immer noch mehr Be­schrän­kun­gen in der kos­ten­frei­en Version.

Ge­schütz­te Branches, also Ent­wick­lungs­zwei­ge, auf die nur aus­ge­wähl­te Nutzer Zugriff haben, lassen sich bei­spiels­wei­se sowohl in GitLab als auch in GitHub nutzen – bei GitHub al­ler­dings nur in öf­fent­li­chen Re­po­si­to­ries, während diese Funktion in GitLab auch bei privaten Re­po­si­to­ries zur Verfügung steht. Noch gra­vie­ren­der ist die Ein­schrän­kung von maximal drei Ent­wick­lern pro privatem Re­po­si­to­ry in GitHub. Wer in größeren Teams zu­sam­men­ar­bei­ten möchte, muss auf das Abo umsteigen und die En­ter­pri­se-Version nutzen.

Generell bietet GitHub etwas weniger Nut­zer­rech­te: Eine nach ver­schie­de­nen Rollen ge­glie­der­te Rech­te­ver­wal­tung ist in GitHub nur im kos­ten­pflich­ti­gen Team-Abo möglich, während diese Option in GitLab zum Standard gehört. Außerdem bietet GitLab eine Container-Registry, in der Nutzer die mit den CI-Tools er­stell­ten Docker-Images hin­ter­le­gen und als Teil des GitLab-Re­po­si­to­rys verwalten können.

Gleiche Funktion, un­ter­schied­li­che Ter­mi­no­lo­gie

Da GitHub und GitLab beide auf Git basieren, ist eine Migration von einer Plattform auf die andere ohne größere Probleme möglich. Re­po­si­to­ries, Wikis, Pull-Requests und Issues werden in der Regel einfach im­por­tiert. Es gibt aber einige ter­mi­no­lo­gi­sche Un­ter­schie­de zwischen GitHub und GitLab, wie die folgende Tabelle unter Beweis stellt:

GitHub GitLab Bedeutung
Pull-Request Merge-Request Anfrage, um einen Branch in den Master ein­zu­glie­dern
Gist Snippet Code-Schnipsel
Re­po­si­to­ry Project Container, der das Re­po­si­to­ry, Anhänge und pro­jekt­spe­zi­fi­sche Ein­stel­lun­gen enthält
Or­ga­niza­ti­on Group Ebene, auf der Nutzer Projekten zu­ge­wie­sen werden

Gerade der Ausdruck „re­po­si­to­ry“ sorgt beim Umstieg ge­le­gent­lich für Ver­wir­rung, da ihn viele Nutzer gleich­be­deu­tend mit „project“ verwenden, auch wenn er bei GitHub die Git-Re­po­si­to­ries und die Project-Assets be­inhal­tet. GitLab nennt diesen Container daher aus­drück­lich „project“, um an­zu­zei­gen, dass darin alle wichtigen Pro­jekt­da­ten enthalten sind.

Bedienung und Be­nut­zer­ober­flä­che

GitLab wirkt mit seiner auf­ge­räum­ten gra­fi­schen Be­nut­zer­ober­flä­che im ersten Moment etwas über­sicht­li­cher, weshalb viele Nutzer der Plattform eine leichtere, da in­tui­ti­ve­re Bedienung be­schei­ni­gen. Issues werden bei­spiels­wei­se in GitLab nicht nur als Liste angezeigt, sondern können auch in einer Board-Ansicht or­ga­ni­siert und verwaltet werden.

Ein großer Vorteil gegenüber GitHub ist zudem, dass das User Interface (UI) von GitLab skaliert und flexibel an die Größe des Bild­schirms angepasst werden kann, während GitHub nur eine fixe Größe bietet. Für die Ansicht auf mobilen End­ge­rä­ten ist GitLab als GitHub-Al­ter­na­ti­ven daher oft die bessere Wahl.

Auch das Be­ar­bei­ten und Erstellen von Code geht bei GitLab etwas besser von der Hand, da das Tool eine in­te­grier­te Ent­wick­lungs­um­ge­bung (IDE) bietet. GitHub verfügt statt­des­sen nur über einen mi­ni­ma­lis­ti­schen Text­edi­tor.

Tipp: Deploy New und GitHub

Sie arbeiten gerne mit GitHub an Web­pro­jek­ten? Mit Deploy Now können Sie statische Websites direkt via GitHub auf IONOS geo­red­un­dan­te, DDoS-ge­schütz­te In­fra­struk­tur deployen. Deployen Sie Feature Branches als Staging Um­ge­bun­gen und Pro­fi­tie­ren Sie von einer au­to­ma­ti­schen SSL-Pro­vi­sio­nie­rung.

GitLab oder GitHub? Die wich­tigs­ten Un­ter­schie­de auf einen Blick

GitHub GitLab
Issues können über mehrere Re­po­si­to­ries getrackt werden Issues können nicht in mehreren Re­po­si­to­ries getrackt werden
Private Re­po­si­to­ries kos­ten­pflich­tig Private Re­po­si­to­ries kostenlos
Kein kos­ten­lo­ses Hosten auf eigenem Server Kos­ten­lo­ses Hosten auf eigenem Server
Con­ti­nuous In­te­gra­ti­on nur über Dritt­an­bie­ter-Tools wie Travis CI, CircleCI etc. Kos­ten­lo­se Con­ti­nuous In­te­gra­ti­on in­be­grif­fen
Keine ein­ge­bau­te De­ploy­ment-Plattform Software-De­ploy­ment über Ku­ber­netes
Um­fas­sen­des Kommentar-Tracking Kein Kommentar-Tracking
Kein Export von Issues als CSV-Datei E-Mail-Export von Issues als CSV-Datei
Per­sön­li­ches Dashboard zum Tracken von Issues und Pull-Requests Analyse-Dashboard für Planung und Mo­ni­to­ring des Projekts
Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung
Zum Hauptmenü