Definition

GitHub

Was ist GitHub?

GitHub ist eine webbasierte Versionskontroll- und Kollaborationsplattform für Softwareentwickler. Microsoft, der größte Einzelinvestor in GitHub, erwarb die Plattform 2018 für 7,5 Milliarden US-Dollar. GitHub, das über ein Software-as-a-Software-Geschäftsmodell (SaaS) bereitgestellt wird, wurde 2008 gegründet. Es basiert auf Git, einem Open-Source-System zur Verwaltung von Code, das von Linus Torvalds entwickelt wurde, um die Erstellung von Software zu beschleunigen.

Git wird verwendet, um den Quellcode für ein Projekt zu speichern und die vollständige Historie aller Änderungen an diesem Code zu verfolgen. Es ermöglicht Entwicklern eine effektive Zusammenarbeit an einem Projekt, indem es Tools zur Verwaltung möglicherweise widersprüchlicher Änderungen von mehreren Entwicklern bereitstellt.

GitHub erlaubt es Entwicklern, Software aus seinen öffentlichen Repositorys im Rahmen verschiedener kostenpflichtiger Pläne kostenlos zu ändern, anzupassen und zu verbessern. Jedes öffentliche und private Repository enthält alle Dateien eines Projekts sowie den Revisionsverlauf jeder Datei. An einem Repository können mehrere Personen mitwirken und es kann mehrere Eigentümer haben.

Wie funktioniert GitHub?

GitHub erleichtert das Social Coding, indem es einen Hosting-Service und eine Webschnittstelle für das Git-Code-Repository sowie Management-Tools für die Zusammenarbeit bereitstellt. Die Entwicklerplattform kann als ein soziales Netzwerk für Softwareentwickler betrachtet werden. Mitglieder können einander folgen, die Arbeit der anderen bewerten, Updates für bestimmte Open-Source-Projekte erhalten und öffentlich oder privat kommunizieren.

Im Folgenden werden einige wichtige Begriffe erläutert, die von GitHub-Entwicklern verwendet werden:

  • Fork: Ein Fork, auch als Branch bezeichnet, ist ein Repository, das von einem Mitgliedskonto auf ein anderes Mitgliedskonto kopiert wurde. Forks und Branches ermöglichen es einem Entwickler, Änderungen vorzunehmen, ohne den Originalcode zu beeinflussen.
  • Pull Request: Wenn ein Entwickler seine Änderungen teilen möchte, kann er ein Pull Request an den Eigentümer des ursprünglichen Repositorys senden.
  • Merge: Wenn der ursprüngliche Eigentümer nach der Überprüfung der Änderungen diese in das Repository übernehmen möchte, kann er die Änderungen akzeptieren und mit dem ursprünglichen Repository zusammenführen.
  • Push: Das ist das Gegenteil von Pull – ein Programmierer sendet Code von einer lokalen Kopie an das Online-Repository.
  • Commit: Ein Commit oder eine Coderevision ist eine einzelne Änderung an einer Datei oder einem Satz von Dateien. Standardmäßig werden Commits beibehalten und in das Hauptprojekt eingefügt, oder sie können durch Commit Squashing zu einer einfacheren Zusammenführung kombiniert werden. Beim Speichern jedes Commits wird eine eindeutige ID erstellt, mit der die Mitarbeiter ihre Arbeit dokumentieren können. Ein Commit kann als Momentaufnahme eines Repositorys betrachtet werden.
  • Clone: Ein Clone ist eine lokale Kopie eines Repositorys.

Vorteile und Funktionen von GitHub

GitHub erleichtert die Zusammenarbeit zwischen Entwicklern. Es bietet auch eine verteilte Versionskontrolle. Entwicklerteams können in einem zentralisierten Git-Repository zusammenarbeiten und Änderungen nachverfolgen, um organisiert zu bleiben.

GitHub bietet neben dem bekannten SaaS-Produkt auch eine lokale Version an. GitHub Enterprise unterstützt integrierte Entwicklungsumgebungen und Tools für die kontinuierliche Integration sowie viele Apps und Dienste von Drittanbietern. Es bietet mehr Sicherheit und Überprüfbarkeit als die SaaS-Version.

Weitere erwähnenswerte Produkte und Funktionen sind:

  • GitHub Gist: Benutzer teilen Codeteile oder andere Notizen.
  • GitHub Flow: Das ist ein kompakter, Branch-basierter Workflow für regelmäßig aktualisierte Bereitstellungen.
  • GitHub Pages: Das sind statische Webseiten zum Hosten eines Projekts, die Informationen direkt aus dem GitHub-Repository einer Einzelperson oder Organisation abrufen.
  • GitHub Desktops: Benutzer können von Windows- oder Mac-Desktops aus auf GitHub zugreifen, anstatt die GitHub-Website zu besuchen.
  • GitHub Student Developer Pack: Das ist ein kostenloses Angebot von Entwickler-Tools für Studenten. Es umfasst Cloud-Ressourcen, Programmier-Tools und -Support sowie GitHub-Zugang.
  • GitHub Campus Expert: Mit diesem Programm übernehmen Studenten an ihren Schulen eine Führungsrolle und können dort technische Communitys aufbauen.
  • GitHub CLI: Das kostenlose Open-Source-Tool für die Befehlszeile überträgt GitHub-Funktionen wie Pull Requests auf das lokale Terminal eines Benutzers. Durch diese Funktion entfällt die Notwendigkeit, beim Programmieren den Kontext zu wechseln, wodurch Arbeitsabläufe optimiert werden.
  • GitHub Codespaces: Diese Cloud-Entwicklungsumgebung bietet Benutzern Zugriff auf gängige Programmiersprachen und -Tools. Die Programmierumgebung wird in einem Container ausgeführt und bietet Benutzern eine gewisse Zeitspanne, bevor sie zu einem kostenpflichtigen Preismodell wechseln müssen.

Anwendungsfälle für GitHub

GitHub wird zum Speichern, Verfolgen und gemeinsamen Bearbeiten von Softwareprojekten in verschiedenen Kontexten verwendet:

  • Unternehmen nutzen GitHub als Versionskontrollsystem, sodass Mitglieder des Entwicklungsteams Änderungen am Quellcode nachverfolgen können, während die Entwickler daran arbeiten. So können verschiedene Programmierer gleichzeitig an einem Projekt arbeiten und es wird sichergestellt, dass alle an der neuesten Version des Codes arbeiten, was das Projektmanagement vereinfacht. Es ermöglicht auch den Zugriff auf frühere Versionen, falls Entwickler darauf verweisen müssen. GitHub ermöglicht die gemeinsame Nutzung von Code durch Entwickler, da der Code an einem zentralen Ort gespeichert wird. GitHub Enterprise hilft auch bei der Einhaltung von Vorschriften, da es eine standardisierte Methode zur Speicherung von Code ist.
  • Programmierlehrer und -schüler nutzen GitHub auf verschiedene Weise. Das Student Developer Pack bietet Lehrern und Schülern eine Reihe kostengünstiger Ressourcen. Schüler nutzen die Plattform, um Webentwicklung zu lernen, an kreativen Entwicklungsprojekten zu arbeiten und virtuelle Veranstaltungen abzuhalten.
  • Open-Source-Softwareentwickler nutzen GitHub, um Projekte mit Personen zu teilen, die ihre Software verwenden oder daran mitarbeiten möchten. Entwickler vernetzen sich, arbeiten zusammen und stellen ihre Arbeit anderen Entwicklern in Echtzeit vor, um Fehler im vorgeschlagenen Code zu erkennen, bevor Änderungen abgeschlossen werden. Diese Möglichkeiten zur Zusammenarbeit und Vernetzung sind der Grund, warum GitHub als soziales Medium eingestuft wird. In den Repository-Notizen wird häufig auf andere Community-Websites wie Reddit verlinkt. Benutzer können auch Anwendungen von GitHub herunterladen.
  • Auch Nicht-Programmierer nutzen GitHub, um an dokumentenbasierten und Multimedia-Projekten zu arbeiten. Die Plattform ist intuitiv zu bedienen und ihre Versionskontroll-Tools sind für die Zusammenarbeit nützlich. The Art of the Command Line ist beispielsweise ein umfassender Leitfaden für die Befehlszeile. Samplebrain ist ein experimentelles Musikproduktionswerkzeug des Elektronikmusiker Aphex Twin. Und das Open Source Cookbook ist eine Sammlung von Kochrezepten.

Erste Schritte auf GitHub

Um sich bei GitHub anzumelden und ein Repository zu erstellen, folgen neue Benutzer und Anfänger diesen Schritten:

  • Lernen Sie die Kommandozeile kennen: Die Kommandozeile ist die Art und Weise, wie Benutzer mit GitHub interagieren. Die Fähigkeit, sie zu benutzen, ist eine Voraussetzung für die Arbeit mit GitHub. Es gibt Tutorials und andere Tools, die bei diesem Prozess helfen. Eine Alternative ist der GitHub-Desktop-Client.
  • Installieren Sie Git: Git kann mithilfe der Anweisungen auf der Git-Website kostenlos installiert werden. Mit der Installation von GitHub Desktop wird auch eine Befehlszeilenversion von Git installiert. Auf vielen Mac- und Linux-Rechnern ist Git bereits standardmäßig installiert.
  • Erstellen Sie ein Konto: Rufen Sie die Website von GitHub auf und erstellen Sie ein GitHub-Konto mit einer E-Mail-Adresse.
  • Erstellen Sie ein neues Repository: Gehen Sie zur GitHub-Startseite, klicken Sie auf das +-Zeichen und dann auf examplerepo. Benennen Sie das Repository und geben Sie eine kurze Beschreibung ein, wenn Sie dazu aufgefordert werden. Fügen Sie eine README-Datei, eine .gitignore-Vorlage und eine Projektlizenz hinzu. Blättern Sie dann zum Ende der Seite und klicken Sie auf Repository erstellen.
Erstellen eines Repositorys
Abbildung 1: Das Erstellen eines Repositorys ist der erste Schritt zur gemeinsamen Arbeit am Code in GitHub.

Der Benutzer sollte nun ein leeres Repository auf seiner GitHub-Seite haben. Sie können eine lokale Kopie dieses Repositorys mit dem Befehl git init im Terminal erstellen.

Klonen einer lokalen Kopie
Abbildung 2: Sobald ein Repository auf GitHub erstellt wurde, können Benutzer eine lokale Kopie klonen.
Diese Definition wurde zuletzt im März 2025 aktualisiert

Erfahren Sie mehr über Softwareentwicklung