GitHub, die Software, die anderen hilft, mehr großartige Software zu entwickeln, ist in aller Munde. Die Entwickler-Community scheint GitHub zu lieben und GitHub selbst wird immer mehr zum integralen Bestandteil der Business-Welt.
Im heutigen Artikel wollen wir ein paar wichtige Unterschiede zwischen GitHub und GitLab aufzeigen. Los geht’s!
GitHub Tutorial revisited.
Es ist schon eine Weile her, dass wir dieses GitHub Tutorial veröffentlicht haben, in dem wir in 10+ Tipps und Hacks erklären, wie Sie mit GitHub starten können. Seit diesem Artikel haben wir eine Menge Github-spezifische Fragen bekommen.
Immer wieder kam auch die Frage auf: GitHub und GitLab – was ist der Unterschied?
Git was?
Sowohl GitLab und GitHub sind webbasierte Repositories. Das Ziel von Git ist, Webentwicklung, Webprojekte und Daten, die sich mit der Zeit verändern, zu verwalten.
Git speichert diese Informationen in digitalen Archiven, die man als Repositories bezeichnet.
Git ist eine Software zur verteilten Versionsverwaltung; Webprojekte in unterschiedlichen Versionen können hier gespeichert wird. Dies erlaubt die Zusammenarbeit mit verschiedenen Personen, die Ideen testen und an Webprojekten zusammenarbeiten können.
Git macht Versionsverwaltung einfach!
GitHub: Die Basics
GitHub Projekte können öffentlich gemacht werden und jeder öffentlich geteilte Code kann von jedem genutzt werden. Private Projekte sind in GitHub ebenfalls möglich, erfordern allerdings einen kostenpflichtigen GitHub Account.
Öffentliche Repositories auf GitHub werden häufig verwendet, um Open Source Software zu teilen. GitHub bietet z. B. auch Features wie Issue Tracking und GitHub Pages an.
GitLab: Die Basics
Ähnlich wie GitHub, ist GitLab ein Repository Manager, der Teams erlaubt am Code eines Webprojekts zusammenzuarbeiten. Die Programmiersprache von GitLab ist Ruby und ähnlich wie GitHub bietet auch GitLab Features für Issue Tracking und Projekt Management.
Wichtige Unterschiede
Wir haben – nach Hinzuziehen von Referenzen und unseren eigenen Erfahrungen – folgende Unterschiede herausfinden können, die wichtig sind, wenn Sie sich zwischen GitLab und GitHub entscheiden müssen.
Authentifizierungs-Level
In GitLab können Sie Zugangsberechtigungen für verschiedene Team-Mitglieder – je nach Position – modifizieren. In GitHub können Sie entscheiden, ob jemand die Berechtigung zum “Lesen” oder “Verändern” erhält. In GitLab können Sie z. B. eine Berechtigung für den Issue Tracker erteilen ohne Erlaubnis für den Quellcode herauszugeben.
Anhänge
In GitLab können Sie Dateien ganz einfach an jedes Issue anhängen. Das ist in GitHub nicht möglich.
Issue Tracking
Wenn Sie GitHub Issues verwenden, werden Sie vielleicht einige Funktionen hier vermissen. GitLab ist da besser aufgestellt und erlaubt Ihnen Status und Empfänger für mehrere Issues auf einmal zu ändern.
GitHub Issues erlaubt Ihnen ähnliche Funktionen. Und es ist auch ein großartiger Issue Tracker. Persönlich gefällt mir allerdings Gitlabs Issue Tracker um einiges besser.
Work in Progress Status
In GitLab können Entwickler ein Projekt mit “Work in Progress” kennzeichnen, ein klares Kennzeichen, das der Code in diesem Projekt noch nicht fertig ist. Das ist vielleicht nur eine Kleinigkeit, aber diese kann sehr nützlich sein. Dann zum Beispiel, wenn dieses Label verhindert, dass der Code mit anderem Code verbunden wird, bevor dieser fertig ist.
Integrationen
Sowohl GitLab und GitHub bieten eine ganze Menge an 3rd Party Integrationen. Sie können so Ihren Versionsmanager mit diversen Anwendungen verbinden und so nahtlos in Ihren bereits bestehenden Workflow integrieren.
Um herauszufinden, ob Ihre Lieblings-Apps mit GitLab und GitHub kompatibel sind, empfehle ich Ihnen die Integrationen vorher auf GitLab und GitHub durchzusehen.
Die GitHub Community
GitHub hat sich sehr gut in der Entwickler-Community positioniert. Die Popularität von GitHub wird vor allem durch die sehr aktive GitHub-Gemeinde getragen. Wenn Sie sich also mit Entwicklern austauschen wollen, sind die Chancen größer, diese bei GitHub zu treffen.
GitLab Enterprise vs GitHub Enterprise
Auf einem Enterprise-Level gibt es weitere Faktoren, die man berücksichtigen muss, wenn es um die Entscheidung GitLab vs. GitHub geht.
GitHub ist sehr beliebt bei Entwicklern. Jedoch scheint es, dass GitHub als Enterprise Software nicht vollständig entwickelt ist. Daher gibt es einige Kritik von Entwicklern, die GitHub auf dem Enterprise-Level verwenden.
Features | GitLab | GitHub |
---|---|---|
released | September 2011 | April 2008 |
Pricing | Unlimited public and private repositories / unlimited public and private collaborators | Free for public repositories / Paid plans for private repositories |
Code review features | yes | yes |
Wiki | yes | yes |
Bug & issue tracking | yes | yes |
Private branch | yes | Yes (with paid plans) |
Build system | yes | Yes (with 3rd party service) |
Self-hosting | yes | Yes (with enterprise plan) |
Popularity | 100.000+ projects | 35.000.000+ projects |
detailled pricing | Free: gitlab.com / Free: GitLab Community Edition / $39 / Year: GitLab Enterprise | Free: public projects / $7/month: Personal plan / $25/month: organization plan / $2.500/year: Enterprise |
Fazit.
GitLab ist immer noch der kleine Bruder von GitHub und hat noch einen weiten Weg vor sich, um es mit GitHub aufzunehmen. Dennoch ist GitLab eine großartige und vermutlich die beste Alternative zu GitHub.
Und das Beste? GitLab bietet einige großartige Features und Benefits, die Enterprises in GitHub vermutlich vermissen.
Wenn Sie sich noch nicht entschieden haben und noch weitere Ressourcen hinsichtlich GitLab vs. GitHub suchen, dann kann ich Ihnen den folgenden Link empfehlen: