Definition

GitHub

GitHub ist eine webbasierte Versionskontroll- und Kooperationsplattform für Softwareentwickler.

GitHub, das über ein Software-as-a-Service-Geschäftsmodell (SaaS)bereitgestellt wird, wurde 2008 gegründet und basiert auf Git, einem Open-Source-Codeverwaltungssystem, das von Linus Torvalds entwickelt wurde, um die Erstellung von Software zu beschleunigen. Microsoft, der größte Einzelbeitragszahler zu GitHub, hat das Unternehmen 2018 für 7,5 Milliarden US-Dollar übernommen.

Git speichert den Quellcode für Projekte und lässt Entwickler die komplette Historie aller Änderungen an diesem Code nachverfolgen. Es ermöglicht eine effektivere Zusammenarbeit an einem Projekt, indem es Tools für die Verwaltung möglicherweise widersprüchlicher Änderungen von mehreren Entwicklern bereitstellt. Mit GitHub ändern Entwickler Software aus ihren öffentlichen Repositories kostenlos, passen sie an und verbessernsie. Private Repositories hingegen sind kostenpflichtig. Jedes öffentliche oder private Repository enthält alle Dateien eines Projekts sowie den Revisionsverlauf jeder Datei. Repositories können mehrere Mitwirkende haben und öffentlich oder privat sein.

GitHub erleichtert das Social Coding durch die Bereitstellung einer Webschnittstelle zum Git-Code-Repository und von Verwaltungstools für die Zusammenarbeit. GitHub lässt sich als eine Art soziales Netzwerk für Softwareentwickler beschreiben. Die Mitglieder können einander folgen, die Arbeit der anderen bewerten, Updates für bestimmte Projekte erhalten und öffentlich oder privat kommunizieren.

Drei wichtige Begriffe, die Sie für die Arbeit mit GitHub benötigen, sind Fork, Pull Request und Merge. Ein Fork, auch bekannt als Branch, ist einfach ein Repository, das vom Konto eines Mitglieds auf das Konto eines anderen Mitglieds kopiert wurde. Forks und Branches ermöglichen es einem Entwickler, Änderungen vorzunehmen, ohne den ursprünglichen Code zu verändern. Wenn der Entwickler die Änderungen weitergeben möchte, sendet er eine Anfrage (Request) an den Eigentümer des ursprünglichen Projektarchivs. Wenn der ursprüngliche Eigentümer nach Prüfung der Änderungen diese in das Projektarchiv übernehmen möchte, kann er die Änderungen akzeptieren und sie mit dem ursprünglichen Projektarchiv zusammenführen. Standardmäßig werden alle Commits beibehalten und in das Master-Projekt eingefügt, oder sie werden durch Commit-Squashing zu einem einfacheren Merge zusammengefasst. 

Da GitHub so intuitiv zu bedienen ist und seine Versionskontrollwerkzeuge so nützlich für die Zusammenarbeit sind, haben auch Nicht-Programmierer begonnen, GitHub für die Arbeit an dokumentenbasierten und Multimedia-Projekten zu nutzen. GitLab ist eine Alternative zu GitHub.

GitHub-Produkte und -Funktionen

GitHub bietet neben dem bekannten SaaS-Produkt eine Vor-Ort-Version an. GitHub Enterprise unterstützt integrierte Entwicklungsumgebungen und die Integration von Tools zur kontinuierlichen Integration sowie eine Vielzahl von Anwendungen und Diensten von Drittanbietern. Es bietet mehr Sicherheit und Auditierbarkeit als die SaaS-Version.

Weitere erwähnenswerte Produkte und Funktionen sind:

  • Github Gist ermöglicht es GitHub-Nutzern, Codestücke oder andere Notizen zu teilen.
  • GitHub Flow ist ein leichtgewichtiger, branchbasierter Workflow für regelmäßig aktualisierte Bereitstellungen.
  • GitHub Pages sind statische Webseiten, die ein Projekt hosten und Informationen direkt aus dem GitHub-Repository einer Person oder Organisation beziehen.
  • Mit GitHub Desktop können Benutzer von Windows- oder Mac-Desktops aus auf GitHub zugreifen, statt die GitHub-Website aufzurufen.
  • Das GitHub Student Developer Pack ist ein kostenloses Angebot von Entwicklertools, das auf Studenten beschränkt ist und Cloud-Ressourcen, Programmiertools und Support sowie GitHub-Zugang umfasst.
Diese Definition wurde zuletzt im September 2022 aktualisiert

Erfahren Sie mehr über Softwareentwicklung