Oft werden wir gefragt, welcher Git-Dienst besser ist: GitHub oder Bitbucket?
Falls du neu in der Welt von Git bist empfehle ich dir vorerst unser Git Tutorial durchzulesen, damit du die Grundlagen verstanden hast. Danach ist dieser Artikel interessant, damit du die Unterschiede der aktuell beliebtesten Remote-Repository-Dienste kennst.
Grundlegender Unterschied: GitHub vs. Bitbucket
Wenn wir uns wirklich nur auf den grundlegensten Unterschied zwischen GitHub und BitBucket konzentrieren, dann ist es Folgender:
- GitHub konzentriert sich auf öffentliche Repositories
- Bitbucket konzentriert sich auf private Repositories
Im Grunde genommen hat GitHub eine riesige Open-Source-Community, und Bitbucket neigt dazu, sehr viele Unternehmen und Geschäftskunden zu haben.
Das heißt aber nicht, dass du kein privates Repository auf GitHub haben kannst (das ist natürlich möglich!).
Genauso gut kannst du ein öffentliches Repository auf Bitbucket anlegen.
Viele Benutzer folgen jedoch dem oben gezeigten Schema. Außerdem sind die Standardeinstellungen neuer Repositories bei den Anbietern so eingestellt, dass sie automatisch öffentlich bzw. private Repositories sind.
Abgesehen von diesem Unterschied funktionieren die beiden Plattformen sehr ähnlich.
Du kannst Repositories sowohl über die Website oder in der Kommandozeile erstellen und verwalten, dich mit Zwei-Faktor-Authentifizierung (2FA) einloggen, Team-Mitglieder einladen, Fragen und Diskussionen eröffnen, Pull-Anfragen erstellen, Branches mergen und alles erledigen, was du sonst noch von Git kennst.
Die soeben aufgeführten Funktionen sind auf beiden Plattformen sehr ähnlich. Trotzdem sollten wir uns mit den Besonderheiten der einzelnen Plattformen befassen, damit du die bestmögliche Entscheidung für deine Git-Projekte treffen kannst.
Starten wir mit Bitbucket.
Bitbucket
Bitbucket gehört zum australischen Unternehmen "Atlassian", die unter anderem für Unternehmensanwendungen wie JIRA, Confluence, Trello uvm. bekannt sind. Was mir besonders bei Atlassian-Produkten gefällt ist, dass das Interface sehr übersichtlich und leicht zu bedienen ist.
Du erkennst sofort, dass sich das Unternehmen auf professionelle Teams konzentriert, die ein Komplettpaket für ihre Software-Entwicklung benötigen.
Nicht nur Git
GitHub ist die absolute Hausnummer für Git-Versionskontrolle. Andererseits unterstützt BitBucket viel mehr als nur Git. Du kannst auch deine Repositories in Mercurial, einem anderen populären Versionskontrollverwaltungssystem, tracken. Leider unterstützt es noch kein SVN, ein weiteres Versionskontrollsystem.
Interface
Die Benutzung der Atlassian-Produkte ist einfach easy. Und hier ist auch die Website von Bitbucket keine Ausnahme. Bitbucket ist übersichtlich und du weißt immer, was los ist.
Die Website von GitHub ist auch in Ordnung, aber du musst dich hier besser auskennen, um ans Ziel zu kommen. Das ist bei Bitbucket selten der Fall. Eine Sidebar sagt dir ganz klar, wo du bist und was du machen kannst. Beachte hier bitte, dass ich nur von der grafischen Oberfläche der Website spreche. Du kannst natürlich bei beiden Diensten auch die Kommandozeile benutzen, um Befehle auszuführen.
Desktop-Client
Ein Bereich, der überraschenderweise in Atlassian's Bitbucket fehlt, ist ein Desktop-Client (GitHub stellt einen Client namens Github Desktop bereit). Während viele Benutzer standardmäßig die Kommandozeile bevorzugen, um mehr Kontrolle zu haben und schneller zu arbeiten, gibt es immer noch viele Anwender, die eine Git-App bevorzugen. Wenn du dich für Bitbucket entscheidest, bekommst du keine First-Party-Applikation, sondern ein Open-Source-Programm namens SourceTree.
SourceTree macht was es soll. Es funktioniert und ist kostenlos. Jedoch kann es nicht mit der Effizient der CLI mithalten. Für Anwender die lieber mit einem GUI arbeiten, bietet es jedoch eine gute Lösung an.
Wikis und Foren
Ein Projekt-Wiki als Informationssystem zu haben ist hilfreich. Dein Team kann es nicht nur für interne Notizen während der Entwicklung verwenden, sondern auch, wenn die Informationen Publik gemacht werden sollen. Mit Bitbucket kann jedes Repository ein Wiki haben. Alles was du tun musst, ist es zu aktivieren. Du kannst das Wiki, so wie auch dein Repo kontrollieren.
Außerdem benutzen viele Entwicklungsteams Kanban-Boards für das Projektmanagement. GitHub bietet standardmäßig einen Boards-Tab an, Bitbucket aber nicht. Du hast jedoch die Möglichkeit deinen Trello-Account oder JIRA-Account mit einem Repository zu verlinken, so dass du diese Services innerhalb des Website-Dashboards zur Verfügung hast.
Atlassian verfügt zudem über einen sehr guten App-Marketplace, der viele App-Integrationen und Zusatzfunktionen für dein Projekt anbietet. Du brauchst so etwas vielleicht anfangs noch nicht, aber es ist immer hilfreich zu wissen, dass es soetwas gibt.
Branch-Permissions
Der letzte Punkt zu Bitbucket sind die Branch-Permissions (Berechtigungen). Mit Bitbucket kannst du wählen, wer auf dem jeweiligen Branch arbeiten darf.
Anstatt jedem Teammitglied einfach nur Zugriff auf das Repository zu geben, kannst du den Zugriff auch auf einen einzigen Branch beschränken.
Dieses Feature ist bei Bitbucket sogar bei den kostenlosen Plänen enthalten. Wenn du ein großes Team an Entwicklern hast und Features, Bugfixes, Releases, Betas und verschiedene Aspekte des Projekts sehr spezifisch verwalten musst, sind Branch-Permissions ein geeignetes Feature.
GitHub
GitHub ist der Git-Anbieter mit dem größten Marktanteil auf der Welt. Der Dienst wurde kürzlich von Microsoft aufgekauft, was bei einigen Usern zu einem Plattform-Wechsel geführt hat. Viele User sind dabei unter anderem zu Bitbucket gewechselt. Das bedeutet jedoch nicht, dass deine Repositories in Gefahr sind. Du kannst sie weiterhin als öffentliche oder private Repositories verwenden.
Das Interface
Da wir mit dem Interface von Bitbucket angefangen haben, fangen wir an der gleichen Stelle mit GitHub an. Es ist funktionsfähig und es funktioniert. Was muss noch gesagt werden?
Es ist nicht unbedingt hübsch, aber was ihm an Stil fehlt, macht es durch reinen Nutzen wett. Da die Mehrheit der GitHub-Benutzer über die Kommandozeile arbeitet, steht die Ästhetik der Webseite nicht wirklich auf dem Prüfstand. Sie ist von der Usability her nicht die beste, aber auch nicht zu kompliziert.
Desktop-Client
GitHub bietet seinen eigenen Desktop-Client an. In Bezug auf Ästhetik und Benutzerfreundlichkeit ist der Client viel mehr im Einklang mit dem Webinterface von Bitbucket.
Wie bei SourceTree ist der GitHub-Client großartig, um Leuten den Einstieg in Git zu erleichtern, denen die Kommandozeile vielleicht nicht gefällt. Für Git Power-User wird der Desktop-Client wohl eher unattraktiv sein, da sie in der Kommandozeile wesentlich schneller unterwegs sind. Abgesehen davon ist der GitHub-Client für das, was er umsetzen soll sehr gut.
Kostenlose private Repos
Das stärkste Verkaufsargument von Bitbucket waren die unbegrenzten kostenlosen privaten Repositories. Jedoch hat Github hier nachgezogen und bietet nun ebenfalls kostenlose private Repos an. Zuvor konnten nur öffentliche Repositories kostenlos erstellt werden, und private Repositories waren nur für zahlende Mitglieder.
Jetzt jedoch kannst du so viele erstellen, wie du willst, völlig kostenlos. Der Haken an der Sache ist allerdings, dass du nur 3 Mitwirkende für das Repo haben kannst (dich selbst nicht mitgezählt). Wenn du also in einem großen Team arbeitest, wird es Zeit auf einen bezahlten Plan upzugraden.
Für Hobbybastler sowie Entwickler, die für kleinere Projekte ihren Code teilen wollen, sind die kostenlosen privaten Repository eine erstaunliche Ergänzung zu GitHub.
Wikis und Foren
Jedes Projekt, das du in GitHub erstellst, kann sein eigenes integriertes Kanban-Board erhalten. Es ist jedoch nicht so funktionsreich wie bspw. Trello (Atlassian).
Eine Schwäche, die GitHub gegenüber Bitbucket hat, ist allerdings, dass private Repositories kein Wiki haben können. Das sollten wir etwas spezifischer beschreiben: kostenlose, private Repositories können kein Wiki haben.
Wenn du einen kostenlosen Plan mit einem öffentlichen Repository erstellst, kannst du ein Wiki erstellen.
Ein privates Repository hat Zugriff auf die Wiki-Funktionalität sobald du auf einen bezahlten Plan wechselst. Das ist für viele Unternehmen keine große Hürde, aber für Hobby-Entwickler ist es lästig, hier in die Tasche greifen zu müssen.
Hohes Speicherlimit
Git ist kein Backup-Programm. Du benutzt Git nicht als Cloud-Speicher oder Backup. Dafür ist es ineffizient, und es verstopft die Server und deinen Computer mit "unnötigen Dateien".
Wenn du eine große Anzahl von Commits, Pushes und Branches pullst, kann ein Repo ziemlich umfangreich werden. Ein Vorteil von GitHub ist, dass dir dieser Speicherplatz nicht berechnet wird.
Sogar bei einem kostenlosen Plan gibt es eine Obergrenze von 100 GB pro GitHub-Repository. Die Empfehlung liegt jedoch dabei, dein Repository unter 1 GB zu belassen. Die Datei-Uploads sind auf 100 MB für Kommandozeilen- und 25 MB für Web-Uploads begrenzt.
GitHub oder lieber Bitbucket: Was ist besser?
Aus meiner Sicht gibt es keinen klaren "Gewinner" im Vergleich zwischen Github und Bitbucket. Obwohl die Dienste eine unterschiedliche Zielgruppe haben, wirst du mit beiden Anbietern an dein Ziel kommen. Auf lerneProgrammieren.de benutzen wir Dienste. Da wir mit vielen Atlassian-Produkten wie JIRA und Confluence arbeiten, ist es für uns ein "No-Brainer" auch die privaten Repositories über Bitbucket laufen zu lassen. Hingegen benutzen wir unsere GitHub-Repositories für Fun-Projekte und Tutorials.
Am Ende wirst du mit deiner Entscheidung für einen der Dienste nicht falsch liegen.
Wenn du zu einem kleinen Entwicklerteam gehörst, dann kommen beide Dienste in Frage. Sollte Git für dich absolutes Neuland sein, wirst du wahrscheinlich mit Bitbucket schneller klarkommen. Das Interface ist leichter zu bedienen und man gewöhnt sich schneller an die Abläufe. Solltest du jedoch hauptsächlich an Open-Source-Projekten interessiert sein, würde ich dir GitHub empfehlen.
In Bezug auf geschäftliche Projekte ist es schwer irgendeine Empfehlung auszusprechen. Bitbucket hat sich auf Geschäftskunden spezialisiert und bietet eine Komplettlösung über die Atlassian-Suite an, aber da GitHub die wichtigste Plattform für Open-Source und öffentlichen Code ist, ist GitHub vielleicht der richtige Weg, wenn deine Firma sich darauf spezialisiert hat.
In Wirklichkeit handelt es sich bei beiden Anbietern um sehr solide und empfehlenswerte Git-Hosting-Dienste. Du kannst ehrlichgesagt mit beidem nichts falsch machen!
- Programmiere echte Apps als Anfänger
- Keine Installation, sofort loslegen
- Komplett praxisbezogen
- Zugriff auf Online-Editor