Was ist GitHub?

Was ist GitHub?

Von Jan Suchotzki

Eines der Kernelemente auf GitHub ist das Verzeichnis (engl. Repository). Das kannst du dir so wie ein Projekt vorstellen. Ein solches Projekt besteht aus den folgenden Funktionalitäten, die GitHub anbietet:

  • Code-Hosting - Dieses ist die erste Kernfunktionalität von GitHub. Es geht darum ein Verzeichnis für Quellcode bereit zu stellen. Ähnliches kannst du auch realisieren, wenn du deinen Quellcode in deine DropBox lädst.
  • Versionsverwaltung - Dieses ist die zweite Kernfunktionalität von GitHub. Dein Quellcode-Verzeichnis wird per Git verwaltet und du kannst darauf per Git zugreifen. Damit hast du einen wesentlichen Vorteil gegenüber der Lösung deinen Quellcode einfach auf DropBox zu kopieren. Die Versionsverwaltung umschließt komplett das Code-Hosting. Du hast also keine Möglichkeit Dateien ohne eine Versionierung auf GitHub zu speichern.
  • Issue Tracking - Ein weiterer wichtiger Bestandteil eines GitHub-Verzeichnisses ist das Erstellen und Verwalten von Issues. Diese Funktionalität ist entscheidend für das sogenannte “Social Coding”. Allerdings kannst du sie für jedes GitHub-Verzeichnis ausschalten.
  • Wiki - Jedes Projekt auf GitHub kann sich ein Wiki einrichten. Dabei handelt es sich wieder um ein Git-Verzeichnis. Allerdings ist dieses separat vom Quellcode. Auch das Wiki ist nur optional für dein GitHub-Projekt.
  • Project-Pages - GitHub bietet mit den GitHub-Pages eine einfache Möglichkeit eine Webseite zu erstellen. Zu jedem GitHub-Projekt kannst du eine eigene Webseite erstellen. Der entsprechende Inhalt dafür liegt auch in deinem GitHub-Verzeichnis. Genau wie das Wiki und die Issues, sind die Project-Pages optional!

Du kannst für jedes Projekt entscheiden ob es öffentlich sichtbar ist, oder nur für dich bzw. deine Organisation / Teams deiner Organisation. Dieses ist auch einer der Hauptunterschiede zu anderen Plattformen wie BitBucket oder Visual Studio Team Services. Die beiden letzteren bieten nur private Projekte an. Auf GitHub findest du mittlerweile jedoch fast jedes bekanntes (und unbekanntes) Open-Source-Projekt. Da öffentliche Projekte auf GitHub kostenlos sind, ist es wohl ein entscheidender Faktor warum GitHub so bekannt ist.

Wenn es um private Projekte geht, dann haben andere Plattformen schon teilweise wesentlich umfangreichere Möglichkeiten. So hat beispielsweise Microsoft in Visual Studio Team Services eine umfangreiche Projektmanagementlösung integriert die nahtlos aus Visual Studio bedient werden kann. Es ist daher in diesem Bereich die mächtigere Lösung. Allerdings ist das auch für viele Projekte eine totale Überforderung.

Zusammenfassung

GitHub wird häufig als ein Verzeichnis von Open-Source-Projekten angesehen. Jeder kann sein GitHub-Verzeichnis (häufig auch Projekt genannt) öffentlich sichtbar machen, oder auch als privates Projekt führen. Funktionalitäten wie Issues, Wikis und Project-Pages sind wichtige Elemente für das von GitHub geprägte “Social Coding”. Der Zugriff auf Projekte wird über Zugriffsrechte verwaltet die bei GitHub hauptsächlich über Organisationen und Teams definiert werden. Jan