HomeBlogGitHub: Was es ist und wie es funktioniert
API-Grundlagen

GitHub: Was es ist und wie es funktioniert

Was GitHub ist, wie man es nutzt und warum es zum größten Hub für Open-Source-Projekte weltweit geworden ist

Ursprünglich als einfaches Tool zum Hosten von Open-Source-Softwareprojekten entwickelt, GitHub stellt heute die größte kollaborative Community dar, die es je gegeben hat, sowie ein Archiv, das die Geschichte der digitalen Technologien unserer Zeit bewahrt.

Heute durchläuft nahezu jede geschriebene Codezeile mindestens einmal die Server von GitHub – einer Plattform, die die Arbeit von über 100 Millionen Entwicklern und mehr als 400 Millionen Projekten hostet.

Was ist GitHub?

GitHub ist eine Microsoft-eigene Online-Plattform, die es Entwicklern ermöglicht, Quellcodeprojekte zu speichern, zu verwalten und Änderungen nachzuverfolgen, während sie mit anderen Programmierern zusammenarbeiten.

GitHub basiert auf Git, einer verteilten Versionskontrollsoftware, die von Linus Torvalds im Jahr 2005 entwickelt wurde, um die Arbeit der Tausenden von Mitwirkenden am Linux-Kernel effizient zu koordinieren – nachdem diese kurz zuvor gezwungen waren, auf das bis dahin verwendete BitKeeper-System zu verzichten.

Torvalds’ „persönlicher“ Bedarf entwickelte sich schnell zu einer Plattform mit über 100 Millionen Entwicklern und mehr als 400 Millionen Repositories. GitHub wurde 2008 gestartet und ist heute der größte und am weitesten verbreitete Hub für Open-Source-Projekte weltweit.

Der Unterschied zwischen Git und GitHub

Der grundlegende Unterschied zwischen Git und GitHub besteht darin, dass Git lokal ausgeführt wird, während GitHub einer der Cloud-Hosting-Dienste ist, die die von Torvalds entwickelte Technologie nutzen.

Git ist eine lokale Versionskontrollsoftware, die den Dateiverlauf verfolgt, indem bei jeder Änderung (Commit) ein Snapshot des Codes erstellt wird. Eine seiner wichtigsten Eigenschaften ist, dass sich jede frühere Version von Dateien wiederherstellen lässt und parallele Arbeitszweige (Branches) erstellt werden können, um neuen Code zu testen, ohne die Hauptversion des Projekts zu beeinflussen.

GitHub ist, wie erwähnt, die Microsoft-eigene Website, die Git-Projekte online hostet, um sie anderen Entwicklern zur Verfügung zu stellen, die zusammenarbeiten möchten oder müssen. Derselbe Service wird auch von anderen Plattformen wie GitLab und Bitbucket angeboten, doch GitHub kann problemlos als „Standard“ betrachtet werden. 

Tatsächlich ist es der Plattform in kurzer Zeit gelungen, zu einem zentralen Bezugspunkt für die gesamte Open-Software-Community zu werden (zum Beispiel durch das Angebot von unbegrenztem, kostenlosem Speicherplatz für öffentliche Projekte und durch die Möglichkeit für Entwickler, eine Profilseite zu haben, die alle ihre Beiträge in einer Art öffentlichem Portfolio sammelt).

GitHub: Wofür ist es da?

Die wichtigsten Funktionen von GitHub lassen sich wie folgt zusammenfassen:

  • Versionskontrolle (GitHub-Versionierung): Dies ist der Kernzweck von Git und besteht darin, jede Änderung am Code nachzuverfolgen, zu jeder früheren Version zurückzukehren und parallel am selben Projekt zu arbeiten, ohne den Hauptcode zu beeinträchtigen;
  • Repositories und Hosting: GitHub speichert und macht über das Web den Code von Millionen von Projekten (Repositories) zugänglich – von proprietärer Software kleiner Unternehmen bis hin zum (Open-Source-)Code, der mit der Apollo-11-Mission zur Mondlandung beigetragen hat;
  • Zusammenarbeit: Die Plattform stellt Entwicklern Werkzeuge zur Verfügung, mit denen Hunderte von Personen gleichzeitig am selben Projekt arbeiten können, ohne die Arbeit anderer zu überschreiben, wie etwa „Pull Requests“ (zum Vorschlagen und Überprüfen von Änderungen) und „Issues“ zur Fehlerverwaltung.

In jüngerer Zeit hat GitHub zudem eine weitere strategische Rolle übernommen: Mit der Integration von GitHub Copilot, einer auf OpenAI-Modellen basierenden künstlichen Intelligenz, die mit dem riesigen GitHub-Archiv trainiert wurde, hat sich die Plattform zu einem echten Programmierassistenten entwickelt, der in Echtzeit Code vorschlägt, Fehler behebt und besonders repetitive oder komplexe Aufgaben automatisiert.

GitHub: Wie funktioniert es?

Vor GitHub bedeutete die Mitarbeit an fremden Projekten E-Mails und manuelle Patches. Heute reicht es aus, ein Projekt zu kopieren (Fork), es zu ändern und den Autor zu bitten, die Änderungen zu akzeptieren (Pull Request).

Schauen wir uns genauer an, wie das funktioniert. Im Gegensatz zu anderen Systemen arbeitet Git mit Snapshots: Bei jeder Änderung (Commit) wird ein vollständiger Schnappschuss des gesamten Projektzustands zu diesem Zeitpunkt erstellt. 

Jeder Snapshot ist mit einer eindeutigen ID (Hash) verknüpft, die aus dem Inhalt des Codes berechnet wird und auch Autor, Datum, Uhrzeit und Nachrichten enthält. Dieser Git-spezifische Mechanismus macht es praktisch unmöglich, die Software zu beschädigen oder zu manipulieren. Selbst die Änderung eines einzelnen Bits würde die „Signatur“ des Snapshots verändern.

Ein weiteres zentrales Merkmal der Funktionsweise von GitHub liegt im Zeigersystem (Branching), das es Hunderten von Personen ermöglicht, gemeinsam am selben Softwareprojekt zu arbeiten. Der Main-Zeiger ist ein Label, das die neueste offizielle Version der Software kennzeichnet. Daneben können weitere Lesezeichen existieren, die auf Branches verweisen – also auf die „experimentellen“ Zweige der Software, die noch nicht Teil des Hauptprojekts sind.

Diese Lesezeichen, die sich beim Commit automatisch aktualisieren, ermöglichen es, verschiedene Teile der Software parallel weiterzuentwickeln, ohne dass sich die Arbeit der Entwickler gegenseitig beeinflusst.

Wie man GitHub verwendet

Um mit GitHub zu beginnen, müssen Sie zunächst ein Konto auf github.com erstellen und Git auf Ihrem Computer installieren. Danach können Sie zwischen drei verschiedenen Interaktionsmöglichkeiten wählen:

  • Über die Kommandozeile mit Terminalbefehlen;
  • Über die GitHub Desktop-App, die eine sehr benutzerfreundliche grafische Oberfläche bietet – ideal für alle, die mit Git nicht vertraut sind;
  • Direkt über die Weboberfläche, mit der sich viele grundlegende Aktionen ausführen lassen (Repositories erstellen, Dateien hochladen, forken usw.).

In jedem Fall beginnt alles auf dem Computer des Entwicklers, wo der Git-Ordner bzw. das Repository des Projekts erstellt wird. Git verfolgt alle am Code vorgenommenen Änderungen. Sobald das Projekt bereit ist, geteilt zu werden, wird es auf GitHub hochgeladen (Push), das dann eine Kopie des Repositories enthält, an der alle Mitarbeitenden arbeiten können.

Die Zusammenarbeit erfolgt über drei zentrale Werkzeuge:

 

  • Fork: dient dazu, ein Projekt zu kopieren, um daran zu arbeiten, ohne das Original zu beeinflussen;
  • Pull Request: wenn der Fork Verbesserungen gegenüber dem ursprünglichen Code enthält, bittet man den Autor, die vorgenommenen Änderungen zu genehmigen;
  • Merge: genehmigte Änderungen werden automatisch in den ursprünglichen Code „zusammengeführt“, und der Branch wird in Main integriert. 

 

 

GitHub: Was es ist und wie es funktioniert
Teilen auf