Anzeige
Anzeige
Ratgeber
Artikel merken

Was ist eigentlich GitHub?

Mittlerweile ist es im Internet kaum möglich, eine Software herunterzuladen, ohne dabei früher oder später einmal über GitHub zu stolpern. Doch was für eine Internetseite ist das überhaupt?

Von Moritz Stückler
4 Min. Lesezeit
Anzeige
Anzeige

Das GitHub-Hauptquartier in San Francisco. (Foto: Sundry Photography/Shutterstock)

Es gibt so Websites, die man kennt, ohne sie wirklich zu kennen. Das Wort hat man schon 1.000 Mal gesehen. Doch was sich dahinter verbirgt, hat man nie wirklich komplett verstanden. Wir bringen Licht ins Dunkel und klären ein bisschen über genau solche Plattformen auf. In der Vergangenheit haben wir uns bereits Reddit und Tumblr angeschaut. Heute erklären wir euch, was es mit GitHub auf sich hat und wie es funktioniert.

Git: Versionsverwaltung für Software-Projekte

Anzeige
Anzeige

Sinn und 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 oftmals mehrere, teilweise sogar Hunderte oder Tausende Entwickler:innen mit. Von denen widmet sich jeder einem anderen Teil des Programms, und die Arbeitsergebnisse müssen irgendwo zusammengeführt werden. Natürlich könnten die Entwickler:innen ihre Ä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 Open-Source-Projekte auf GitHub wieder (zum Beispiel der Linux-Kernel, das Web-App-Framework Ruby on Rails oder die JavaScript-Bibliothek jQuery).

repo auf github

So sieht eine Projektansicht auf GitHub typischerweise aus. (Screenshot: t3n)

GitHub: Sämtliche Änderungen von allen Autor:innen werden gespeichert

Dazu gibt es diverse Client-Applikationen für Git, hauptsächlich in Form von Kommandozeilen-Tools. Hiermit können Entwickler:innen ihre Änderungen an einem Projekt zentral einreichen, und GitHub stellt diese Änderungen ausführlich auf der zugehörigen Website 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.

Anzeige
Anzeige

GitHub visualisiert alle Änderungen verschiedener Autor:innen an einem Projekt. (Screenshot: t3n)

„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 neueste Version einer Software herunterzuladen, 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:innen anscheinend tatsächlich von sich. Aber keine Angst, wir haben hier ein kleines GitHub-Wörterbuch für euch zusammengestellt:

Anzeige
Anzeige
  • Was bedeutet Repository bei GitHub? 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.
  • Was heißt „Branch“ bei GitHub? 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.
  • Wofür steht Commit bei GitHub? Ein Commit kann auch als Revision verstanden werden. Speichern Entwickler:innen Änderungen, die sie programmiert haben, werden diese sowie die Verantwortlichen und der Zeitpunkt der Änderung mit dem Commit vermerkt. Somit sind alle Änderungen in einem Projekt genau nachvollziehbar.
  • Maintainer: Maintainer werden die Verantwortlichen der Repositories genannt. Bei Open-Source-Projekten sind das meist mehrere Entwickler:innen. Sie warten und verwalten die Open-Source-Projekte.
  • Pull-Request: Hat ein Entwickler oder eine Entwicklerin einen Bug gefixt oder eine neue Funktion in einem Repository eingebaut, will er oder sie, dass seine Änderung in das ursprüngliche Projekt einfließt. Deswegen stellen Entwickler:innen einen Pull-Request an den Maintainer des jeweiligen ursprünglichen Projekts und bitten so darum, dass die Änderungen übernommen werden.
  • Pull: Mit einem Pull werden die Änderungen, die Nutzer:innen an ihrem Repository vorgenommen haben, übernommen. Außerdem können mit einem Pull auch Maintainer den Pull-Request von Nutzer:innen bestätigen.
  • Fork: Da alle öffentlichen Git-Projekte unter Open-Source-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:innen

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 Open-Source-Projekte der Entwickler:innen, 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 – zumindest für Menschen, die eine grobe Ahnung davon haben. 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 Nutzerprofilen, denen ihr folgen könnt, wertet GitHub die Funktionalitäten des Kommandozeilenwerkzeugs Git merklich auf. Im Bild: unser eigenes. (Screenshot: t3n)

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

Anzeige
Anzeige

Dieser Artikel wurde am 7. März 2024 aktualisiert.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
19 Kommentare
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Vomitorium

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
andy.mustermann

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
cephei

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
B-AG

„[…] die Programmiersprache Ruby on Rails […]“

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

Antworten
Michael Kühnel

Ä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
Moritz Stückler

@ 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
Vomitorium

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
leodesign

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
Your Guide

Um die Antwort auf „Wie funktioniert eigentlich GitHub?“ vorwegzunehmen: Einfach mal nach „git – the simple guide“ googlen

Antworten
Daniel

Danke an den Autor. Ich fand den Artikel gut und aufschlussreich. Ich bin über Google darauf gestoßen „GitHub was ist das?“. Ich komme damit zwar immer mal in Kontakt. Alles was ich brauchte war eine deutschsprachige kurze Übersicht, die ich hier gefunden habe. Ich selbst bin Redakteur für Technische Handbücher und sehe mich häufig mit Aussagen konfrontiert „Das weiß man doch“, „Das muss ein Servicetechniker wissen“. Durch die Rückmeldungen aus dem Feld weiß ich, dass es kein Fehler ist z.B. kurz zu erklären, wie man überhaupt einen Stromlaufplan ließt. Wenn der Leser das weiß, dann kann er den Abschnitt überspringen. Aussagen wie oben führen nur dazu, dass der Leser sich nicht traut zu fragen, um nicht als doof abgestempelt zu werden. Die Folge daraus kostet dann bares Geld im Feld.

Antworten
Peter

Hat mir als Quereinsteiger auch geholfen.
Finessen bei der Kommandozeileneingabe helfen mir wenig, wenn ich über die Grundstruktur, die Idee und den Nutzen nicht Bescheid weiss.

Anhand des Artikels kann ich besser Entscheiden, ob und wann ich Github verwenden kann.

Habe ich im Umfeld niemand um schnell zu fragen und kein Studium in dieser Richtung, „duckduckgo“ ich.

Antworten
gitmeister

“pull” und “pull request” (auch als “merge request” bekannt) sind zwei unterschiedliche Dinge.

Mit einem “git pull” aktualisiere ich eine lokale Kopie eines Repos mit der Quelle auf github. Mit einem “pull request” kann ich den Besitzer eines repos auf github bitten eine Code-Änderung von mir in dieses zu übernehmen.

Antworten
Phillip Richdale

Das jemand, der bei T3N zu GitHub einen Artikel schreibt, Git und GitHub nur schwer auseinander halten kann, wundert mich ein wenig. Eine eine verständlichere Erklärung:

>>>

GitHub ist ein kommerzielles Online- und Webangebot, das Repositorien für das Versionierungssystem Git mit einen gewarteten Webinterface für Git und erweiterte Zusatzfunktionen, z.B. für die automatische Auslieferung von Software, einfache Nutzer- und Rechteverwaltung oder das Issuemanagement, bereitstellt.

GitHub bietet für freie quelloffene Softwareprojekte diese Dienste kostenlos an und gehört seit einiger Zeit zum Microsoft Konzern.

<<<

Man muss für eine solche oder ähnliche Erklärung keinen so verquasten Artikel schreiben. … Vielleicht nochmal überarbeiten?

Antworten
Björn Müller

Ich fand den Artikel gut und konnte mit GitHub bisher noch nicht viel anfangen. Aber es war mir schon irgendwie klar, dass einige Frustrierte sich zeigen werden und die Welt mit ihrem Gedöns belästigen ;)

Antworten
A. M.

Ich fand den Artikel auch hilfreich. Nicht jeder, der hier mitliest, ist ein Experte in diesen Dingen, und da sind auch einfachere Erklärungen durchaus hilfreich und (jedenfalls Leuten wie mir) willkommen!

Antworten
J. E.

Und selbst 2021 ist dieser Artikel noch hilfreich! Danke dafür!

Antworten
John Connor

Dem gemeinen Tenor zur Nützlichkeit eines Artikels stimme ich zu.

Versionierungsprogramme gab es schon Manche, aber keines in solcher Qualität und Quantität. Schön und gelungen erscheint mir die autarke Nutzbarkeit für Leute, die man als Quereinsteiger bezeichnen kann.

Ich habe auch einige frei Projekte hochgeladen, die man nur durch kreatives Stöbern findet.

Antworten
Ed von Weltraumschneck

Können Sie mir vielleicht bitte auch erklären was eine Pizza ist? Meine Entwickler-Kolleg*innen reden davon des öfteren und das muss daher irgendwie sowas technisches sein.

MfG,
Ed von Weltraumschneck

Antworten
John Connor

Zur Entstehung und Definition klassischer Bratpappe gibt es Bildungsangebote in bekannten Portalen.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige