Vorheriger Artikel Nächster Artikel

Was ist eigentlich dieses GitHub?

Als internet-affiner Mensch ist es kaum mehr möglich, runterzuladen, ohne dabei früher oder später einmal über „GitHub“ zu stolpern. Doch was verbirgt sich eigentlich dahinter? Wieso kann man seine Software als Entwickler nicht einfach auf einem WebServer zum Download anbieten und schickt die Nutzer stattdessen auf eine unübersichtliche und verwirrende GitHub-Seite?

Was ist eigentlich dieses GitHub?

Man kennt das – als ambitionierter Internet-User stößt man fast täglich auf Begriffe, die man schon tausendmal gelesen, bei denen man aber noch nie wirklich verstanden hat, was sich dahinter verbirgt. Oder man hat nur eine ungefähre Ahnung, worum es geht und möchte durch das eigene Halbwissen nicht unangenehm auffallen. Wir bringen Licht ins Dunkel und erklären die Begriffe und Plattformen auf leicht verständliche Weise. In der Vergangenheit haben wir uns bereits reddit und tumblr gewidmet. Heute erklären wir euch, was es mit auf sich hat.

Git: Versionsverwaltung für Software-Projekte

Sinn und die Funktion von GitHub stecken schon im zweiteiligen Namen: Git ist nämlich auch der Name einer Software zur Versionsverwaltung. Und was ist das schon wieder? Ganz einfach: An einem Software-Projekt arbeiten heutzutage dank OpenSource oftmals mehrere, teilweise sogar hunderte oder tausende Entwickler. Von denen widmet sich jeder einem anderen Teil des Programms, und deren Arbeitsergebnisse müssen irgendwo zusammengeführt werden. Natürlich könnte jeder Entwickler seine Änderungen und Neuerungen an eine zentrale Person schicken, und diese kümmert sich dann ausschließlich darum, den erhaltenen Code immer zu aktualisieren. Genau diese Tätigkeit lässt sich aber mithilfe einer Versionsverwaltung wie Git automatisieren. Und weil das so praktisch ist und gut funktioniert, finden sich inzwischen viele bekannte OpenSource-Projekte auf GitHub wieder (zum Beispiel der Linux-Kernel, die Programmiersprache Ruby on Rails oder die JavaScript-Bibliothek jQuery).

Diese GitHub-Seite kriegt man oft präsentiert, wenn man heutzutage OpenSource-Software runterladen will. Für Nicht-Entwickler ist eigentlich nur der „Zip“-Button in der linken Ecke wichtig, damit kann die aktuelle Version des Projekts heruntergeladen werden.
Diese GitHub-Seite kriegt man oft präsentiert, wenn man heutzutage OpenSource-Software runterladen will. Für Nicht-Entwickler ist eigentlich nur der „Zip“-Button in der linken Ecke wichtig, damit kann die aktuelle Version des Projekts heruntergeladen werden.

GitHub: Sämtliche Änderungen von allen Autoren werden gespeichert

Dazu gibt es diverse Client-Applikationen für Git, hauptsächlich in Form von Kommandozeilen-Tools. Hiermit können Entwickler ihre Änderungen an einem Projekt zentral einreichen, und GitHub stellt diese Änderungen ausführlich auf der zugehörigen Webseite dar. Außerdem speichert Git jede Version des Software-Projekts – egal, wie groß oder klein eine Änderung ist, mit Git könnt ihr immer auf die vorherige Version zugreifen.

GitHub visualisiert alle Änderungen verschiedener Autoren an einem OpenSource-Projekt.
GitHub visualisiert alle Änderungen verschiedener Autoren an einem OpenSource-Projekt.

„Stash mal deinen Working-Tree, sonst gibt's einen Conflict, wenn du den Dev-Branch pullst.“

Viele Menschen, die mit Entwicklung nichts am Hut haben und GitHub nur nutzen um dort die neuste Version einer Software runterzuladen, fühlen sich vielleicht vom GitHub-typischen Vokabular abgeschreckt. „Stash mal deinen Working-Tree, sonst gibt's einen Conflict, wenn du den Dev-Branch pullst“ – solche Sätze geben einige Entwickler anscheinend tatsächlich von sich. Aber keine Angst, wir haben hier ein kleines GitHub-Wörterbuch für euch zusammengestellt:

  • Repository: Ein Repository (oder kurz „Repo“) kann bei GitHub einfach als „Projekt“ verstanden werden. Die Dateien für ein Software-Projekt werden in einem Repository abgelegt. Der Begriff stammt aus der Linux-Welt.
  • Branch: Innerhalb eines Repositories kann es mehrere Versionen einer Software geben. Zum Beispiel eine experimentelle Beta-Version und eine stabile Version für den Produktiv-Einsatz. Jede Version stellt dabei einen Branch („Ast“) des Repositories dar.
  • Commit: „Commit“ nennt sich der Vorgang, wenn eine neue Version eines Branches bei der Versionsverwaltung eingereicht wird. Das heißt, nachdem der Entwickler einen Vorgang an einer Software abgeschlossen hat, „committed“ er die Änderungen.
  • Pull beziehungsweise Pull Request: Hat ein Entwickler einen Bug gefixt oder eine neue Funktion eingebaut, möchte er, dass seine Änderung in das ursprüngliche Projekt einfließt. Deswegen stellt er einen „Pull Request“ an den Administrator des jeweiligen Projekts. Dieser kann sich die Änderungen dann ansehen und entscheiden, ob er den Pull durchführen möchte, oder nicht.
  • Fork: Da alle öffentlichen Git-Projekte unter OpenSource-Lizenz stehen, kann auch jeder einen eigenen Ableger eines Repositories, einen sogenannten „Fork“, starten. Dort kann jeder privat vor sich hin entwickeln und seine Version am Ende wieder dem ursprünglichen Projekt zuführen (Pull Request stellen) – oder aber einfach eine eigenständige Variante verbreiten.

Hub: Web-Interface, Wiki und Support-System für Entwickler

Im zweiten Teil des Namens „Hub“ steckt dann noch der Hinweis auf die Web-Fähigkeiten von GitHub. Prinzipiell ließe sich Git nämlich auch komplett ohne ein Web-Interface oder zentralen Server verwenden. Aber GitHub hostet nicht nur kostenlos die OpenSource-Projekte der Entwickler, sondern reichert den Funktionsumfang von Git auch zusätzlich an. Dank grafischer Darstellung im Browser lässt sich der Entwicklungsprozess von Software-Projekten anschaulich darstellen. Außerdem kann ein Großteil der Features, zum Beispiel das „Forken“ eines Projekts, auch durch einen Mausklick ausgeführt werden und benötigt keinen Kommandozeilen-Befehl mehr.

Mit Community-Features, wie etwa Entwickler-Profilen wertet GitHub die technischen Funktionen des Kommandozeilentools „Git“ deutlich auf.
Mit Community-Features, wie etwa Entwickler-Profilen wertet GitHub die technischen Funktionen des Kommandozeilentools „Git“ deutlich auf.

Dazu gibt es noch eine ganze Portion Web 2.0 in Bezug auf Community-Features. Indem ihr einem Repository oder einem Entwickler folgt, kriegt ihr automatisch alle Updates der Person beziehungsweise des Projekts mit und könnt euch sofort die neueste Version runterladen, einsetzen oder daran mitentwickeln. Außerdem gibt es Wiki-Funktionen für jedes Projekt sowie ein Support-System, um auftretende Probleme bei Nutzern direkt und übersichtlich bearbeiten zu können.

Weiterführende Links

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
9 Antworten
  1. von Vomitorium am 15.06.2013 (12:41 Uhr)

    Selten so einen FAIL gelesen, und das auch noch bei einem vermeintlichen Tech-Blog:
    >>>
    ...An einem Software-Projekt arbeiten heutzutage dank OpenSource oftmals mehrere,...
    <<<

    Danke OpenSource wurde es also erstmals möglich, dass mehrere Leute an einem Projekt programmieren?
    Dass ich nicht lache... Der Satz ist wirklich sowas von falsch, echt traurig.

    Antworten Teilen
  2. von andy.mustermann am 15.06.2013 (14:32 Uhr)

    Ist nicht der einzige unglücklich formulierte Satz. Es wird auch versucht den Sinn von GitHub zu erläutern, doch es wurde nur der Zweck beschrieben.

    Antworten Teilen
  3. von cephei am 15.06.2013 (22:22 Uhr)

    wirklich schlimm finde ich, dass der Artikel so extrem spät erscheint. Git gibts seit 2008. Und dann kommt ne überschrift wie: Was ist eigentlich dieses GitHub.
    Naja, wenns jemand nicht kennt, weiss er jetzt wenigstens was darüber...

    Antworten Teilen
  4. von B-AG am 16.06.2013 (20:19 Uhr)

    "[...] die Programmiersprache Ruby on Rails [...]"

    Ruby on Rails (RoR) ist ein Framwork, das auf der Progammiersprache Ruby basiert!

    Antworten Teilen
  5. von mischah am 17.06.2013 (05:53 Uhr)

    Ähh, wer ist noch mal die Zielgruppe von t3n!?! Einevecht merkwürdige Entwicklung. Auch diese Ganzen Apple und Gadget-News gehören hier meiner Meinung nach nicht hin. Okay, man muss die Reichweite vergrößern. Finde ich als Ur-Leser des Magazins trotzdem traurig.
    Und dieser Artikel gehört in der Form einfach nicht hier hin.

    Antworten Teilen
  6. von Moritz Stückler am 17.06.2013 (12:11 Uhr)

    @ Vomitorium: Wir sind und waren noch nie ein Tech-Blog ;) Und nein, kollaboratives Programmieren hat nichts mit Open Source zu tun, wurde aber durch die gesamte Open-Source-Bewegung in den letzten Jahren deutlich verstärkt und ist heute dank Plattformen wie GitHub weiter verbreitet, als etwa vor 10 Jahren.

    @ cephei: Der Artikel soll keinesfalls GitHub als Neuheit darstellen. Auch die anderen Themen dieser Reihe, reddit und Tumblr, sind keinesfalls neu. Es geht darum, Leser abzuholen, die nicht wissen, was sich dahinter verbirgt, und das bringt mich auch schon zu

    @ mischah: Natürlich weiß ein Großteil unserer Zielgruppe sehr wohl, was GitHub ist, und was man damit anstellt. Dennoch müssen wir der Tatsache Rechnung tragen, dass bei unserem Publikum auch ein Großteil Personen dabei sind, die nicht programmieren. Mit solche und ähnlichen Artikeln versuchen wir, auch diese Menschen abzuholen und vielleicht für weitere, fachlich tiefere Themen zu begeistern.

    Antworten Teilen
  7. von Vomitorium am 17.06.2013 (13:06 Uhr)

    Ich mach mich ja gerne unbeliebt ;-)
    Dein Kommentar zeigt, dass du noch nie in irgendwelchen Umgebungen gearbeitet hast, die über Web-Klitschen & Bastel-HeijaPopeia-Agenturen hinausgehen - denn Codeverwaltungssysteme werden in Enterprise-Umgebungen schon seit Jahrzehnten eingesetzt :-)

    Antworten Teilen
  8. von leodesign am 18.06.2013 (12:03 Uhr)

    Was ihr hier wieder alle habt!?! Wenn ihr das alles kennt, dann last es doch gut sein und lest woanders weiter!
    Ich bin so einer, der keine Ahnung hat, von GitHub schon x mal etwas herunter geladen hat und über eine kurze und knappe Aufklärung ganz dankbar ist! Man muss nicht auf jedem Gebiet ein Spezi sein, um auf t3n etwas lesen zu dürfen – dann bräuchte man es ja nicht mehr...

    Antworten Teilen
  9. von Your Guide am 19.06.2013 (12:53 Uhr)

    Um die Antwort auf "Wie funktioniert eigentlich GitHub?" vorwegzunehmen: Einfach mal nach "git - the simple guide" googlen

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema GitHub
GitHub goes Enterprise: Schneller, höher, weiter – das sind die Features
GitHub goes Enterprise: Schneller, höher, weiter – das sind die Features

GitHub Enterprise möchte die Zusammenarbeit deines Teams bei Code-Review, Bugfixing und Roll-Out der Software verbessern. Die neue Version von GitHub Enterprise fügt diesem Versprechen noch neue … » weiterlesen

Git-Sicherheitslücke: Warum ihr euren Client sofort updaten müsst
Git-Sicherheitslücke: Warum ihr euren Client sofort updaten müsst

Eine kritische Sicherheitslücke betrifft alle Versionen des offiziellen Git-Clients sowie Programme, die mit Git-Repositories interagieren. Damit sind auch die GitHub-Clients für Windows und OS X … » weiterlesen

Boost für Nachwuchsprogrammierer: GitHub stellt Studenten 14 Tools und Dienste gratis zur Verfügung
Boost für Nachwuchsprogrammierer: GitHub stellt Studenten 14 Tools und Dienste gratis zur Verfügung

Zusammen mit verschiedenen Partnern bietet GitHub mit seinem Student Developer Pack ein Paket aus 14 Tools und Diensten zur kostenfreien Nutzung an. Das Angebot reicht von Cloud-Hosting über … » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n 38 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen