Wiki:blog/GitHub

Was ist eigentlich dieses GitHub?

Als internet-affiner Mensch ist es kaum mehr möglich, Software 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?

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 GitHub 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 ).

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.

„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.

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. (Quelle)

zuletzt geändert vor 3 Jahren Zuletzt geändert am 14.03.2016 10:05:13