Wer im Internet unterwegs ist, eine Website führt oder vielleicht auch nur ein Content Management System wie WordPress verwendet, der ist bestimmt schon einmal über den Begriff GitHub gestolpert. Das liegt höchstwahrscheinlich daran, dass viele Snippets, Plugins und Scripte auf GitHub zu finden sind.

Weil das so ist, denken viele, GitHub wäre nur eine Art Hoster. Dort liegen dann kleine Markdown-Dateien oder einfache Texte und irgendwie, gibt es da auch ganz schön viel Javascript zu finden. GitHub ist was für Programmierer, hört man häufig, ist also vermutlich recht kompliziert und somit wird sich nicht weiter damit auseinandergesetzt. Dabei ist GitHub im Alltag für viele unglaublich wichtig.

Egal ob Programmierer, WordPress-Nutzer, Web Designer oder sonst etwas, GitHub spielt in der kreativen und erschaffenden Branche eine durchaus tragende Rolle. Was genau GitHub ist, weshalb es so wichtig erscheint und warum auch immer mehr Neulinge die Plattform aktiv verwenden, soll unser Artikel klären. Der soll aber vor allem eines: Anfängern vermitteln, was GitHub ist und wie es genutzt wird. Ein Guide für all diejenigen, die sich schon immer gefragt haben, warum ständig von GitHub die Rede ist.

GitHub for Teams

Warum GitHub eigentlich GitHub heißt

Um GitHub als solches zu verstehen, ist es von Bedeutung die Abläufe einer Softwareentwicklung zu kennen. Für gewöhnlich entsteht Software nämlich nicht bei einem einzelnen Programmierer, sondern in großen Teams, die hin und wieder aus hunderten Entwicklern bestehen. Das bringt Probleme mit sich. Wie sollen mehrere hundert Leute an ein und demselben Code arbeiten? Jetzt kommt der Begriff »Git« ins Spiel, der Name einer Versionsverwaltung.

Simpel gesagt führt eine Versionsverwaltung den Code all der unterschiedlichen Entwickler zusammen und dokumentiert sämtliche Änderungen. Egal wer, was, wie und wo geändert hat, alles lässt sich in der Versionsverwaltung nachvollziehen und somit auch entsprechend zusammenführen. Das ist unabdingbar in der Softwareentwicklung, weil es sonst händisch stattfinden müsste, was einfach nicht mehr zeitgemäß und auch nicht sinnvoll erscheint.

Ein weiterer Vorteil von GitHub ist, dass jede Änderung rückgängig gemacht werden kann. GitHub speichert nämlich sämtliche Versionen. Egal wie viel oder wie oft etwas verändert wird, all diese Änderungen sind nicht nur nachvollziehbar, sondern können auch rückgängig gemacht werden, wenn es zu Problemen kommt oder eine ältere Version noch einmal betrachtet werden muss. Unglaublich praktisch und aus der modernen Softwareentwicklung nicht mehr wegzudenken.

Der Begriff »Git« kommt also von der Versionsverwaltung, während »Hub« als zentrale Anlaufstelle betrachtet werden kann. Die Versionsverwaltung findet nämlich eher über Tools und Kommandozeile statt, wohingegen der Hub von GitHub die Website selbst ist, auf der all das entsprechend clever dargestellt und nachvollzogen werden kann.

GitHub ist Versionsverwaltung und soziales Netzwerk in einem

Persönlich vergleiche ich GitHub immer ganz gerne mit einem sozialen Netzwerk für Entwickler. Nein, streng genommen passt das absolut nicht, denn auf GitHub geht es nicht um Hobbys und die Bilder der letzten Partynacht, doch für Programmierer ist es dennoch eine Plattform, auf der sie unglaublich viel Zeit verbringen. Was dann zwangsläufig dazu führt, dass es viele Projekte oder Listen auf GitHub gibt, die so überall existieren könnten, für die GitHub also gar nicht unbedingt benötigt wird. Aber auf GitHub sind eben die Menschen, die sich für Derartiges interessieren. Ein Beispiel dafür wäre /awesome, von Sindre Sorhus. Nur eine Liste, aber eben eine die sich sehr an die Zielgruppe »Entwickler« richtet und auf GitHub deshalb deutlich besser aufgehoben ist, als auf irgendeinem Blog.

Weil auf GitHub jede Menge Open Source Software gehostet wird und allgemein viele Programmierer ihre eigenen Bibliotheken, Snippets oder Programme mit der Öffentlichkeit teilen (die es so dann oft auch nur auf GitHub gibt), entsteht in gewisser Weise ein soziales Netzwerk. Das verstärkt sich noch durch Funktionen, die euch beispielsweise einem Entwickler folgen lassen. Auch Sterne können vergeben werden, um besonders gelungene Projekte entsprechend bewerten zu können.

Daraus ergibt sich dann, dass Entwickler sich gerne auf GitHub befinden, vermehrt dort arbeiten, stöbern und schlussendlich auch neue Kontakte knüpfen oder gemeinsam an Projekten werkeln, Ideen einreichen und Bugs beheben. Deshalb ist GitHub am Ende eben auch weit mehr als nur eine Versionsverwaltung. Es ist DIE Plattform für Entwickler.

Die Funktionen, die GitHub so wertvoll werden lassen

Doch schauen wir uns das mit den »Ideen einreichen« noch einmal kurz genauer an. Denn auch das zeichnet GitHub aus. Allgemein besitzt die Plattform viele Funktionen, die die Arbeit an Softwareprojekten deutlich vereinfachen kann. Die wichtigsten möchten wir euch nun einmal kurz vorstellen.

Repository: Bei dem sogenannten Repository handelt es sich um das angelegte Projekt. Jedes Softwareprojekt bei GitHub ist also ein eigenes Repository. Übersetzt bedeutet der Begriff nichts anderes als Depot oder Lager, was ganz gut passt und deutlich macht, worum es letztendlich geht.

Branch: Der sogenannte Branch (was übersetzt nichts anderes als Zweig bedeutet) ist eine Version im Repository. In jedem Repository kann es unterschiedliche Zweige, also Branches geben. Zum Beispiel eine Alpha-Version, eine Beta-Version und eine Version für die Öffentlichkeit. Alle Versionen können für sich genommen gepflegt und verändert werden.

Commit: Ein Commit findet immer dann statt, wenn Änderungen eingereicht werden. Ein Entwickler arbeitet also an seinem Code, macht einen Commit und gibt die Änderungen damit für die Version auf GitHub frei.

Pull: Wird ein Bug gefixt, muss ein Pull Request gestellt werden. Damit wird der Bugfix entsprechend vorgelegt, damit ein Admin ihn sich näher anschauen und ihn dann für die Hauptversion freigeben kann. Gerade wenn es Software Open Source ist, arbeiten oft viele Entwickler daran und so können sie bei Bedarf, selbst wenn sie kein Teil des Teams sind, einen Pull Request stellen.

Merge: Als Merge wird der Vorgang bezeichnet, wenn beispielsweise ein Pull Request mit der eigentlichen Version zusammengeführt wird. Nachdem dieser getestet wurde, wird er also »gemerged«, wie es so schön heißt.

Fork: Alles, was bei GitHub öffentlich sichtbar ist, kann »geforked« werden. Ein Fork kopiert das eigentliche Projekt dabei quasi komplett in den eigenen Hub. So könnt ihr eure eigene Version der Software erstellen, wenn ihr z.B. neue Ideen habt, die der Entwickler aber nicht in seine Version einfließen lassen möchte. Also macht ihr einen Fork, somit eine eigens modifizierte Version einer anderen Software.

Das sind die wesentlichen Funktionen, die GitHub ausmachen und die jeder kennen sollte. Gerade Begriffe wie »Pull« und »Fork« kommen häufiger mal vor und wer dann nicht so ungefähr weiß, was diese bedeuten, versteht meist nur die Hälfte. Alleine deshalb, um mitreden zu können, wenn Entwickler sich unterhalten, macht es also durchaus Sinn, sich ein paar grundlegende Funktionsweisen von GitHub einzuprägen.

GitHub

GitHub noch einmal ganz einfach zusammengefasst

GitHub ist also in erster Linie eine Plattform für Entwickler, die dort ihre Software hochladen und verwalten können. Weil GitHub aber eben eine zentrale Anlaufstelle geworden ist, kann man es fast schon als soziales Netzwerk für Entwickler begreifen. Jeder dort hat sein eigenes Profil, einige arbeiten sogar ausschließlich an Open Source Software und finanzieren sich durch senden. Andere setzten nach der Arbeit ihre Privatprojekte um oder helfen aus Spaß an der Sache bei größeren Projekten mit.

Was auf GitHub öffentlich ist, ist Open Source, doch natürlich können bezahlte Accounts ihren Code auch versteckt hosten und mit allen Annehmlichkeiten der dortigen Versionsverwaltung im Team arbeiten. Es ist also eine Plattform für Entwickler, die im Grunde alle Arbeiten am Code vereinfacht und praktischer gestaltet.

Doch GitHub ist mehr. Wer ein wenig stöbert, findet Software, die es so nur dort gibt, experimentelle Ideen und vieles mehr. Auch wenn ihr selbst mal nicht weiter wisst, einen Bug nicht fixen könnt oder Ähnliches, kann GitHub mit seiner Community wunderbar funktionieren. So können Pull Requests eingereicht werden und auch Forks sind nicht einfach nur Kopien, sondern können eure eigenen Projekte mit frischen Ideen weiterbringen.

Wer nicht programmiert, muss per se nicht bei GitHub sein, das stimmt schon, doch schaden kann es am Ende dann auch nicht. Sei es nun, um Kontakte zu knüpfen, um zu lernen oder einfach nur, um einen Bug Report einzureichen. Gerade Open Source Software ist schließlich davon abhängig, dass die Menschen aktiv mitwirken. Ob das nun Javascript, C++ oder Rust ist, scheint da erst einmal egal.

Wir hoffen, unsere kleine Übersicht hat gereicht, um euch einen Eindruck davon zu vermitteln, was GitHub ist und wie es im Alltag genutzt wird. Die wichtigsten Funktionen und Begriffe kennt ihr nun auch, könnt beim nächsten Gespräch der Programmierer also kräftig mitmischen.

GitHub

by A-DIGITAL one

Unsere Herzen schlagen Digital, unsere Projekte leben Digital, unsere Kunden lieben und schätzen Digital! Die einzigartige digitale Performance, die wir seit 1999 an den Tag legen.

Mit unserem Team von über 45 Experten begleiten wir Sie auf Ihrem Weg der digitalen Transformation. Mit klaren Strategien, persönlicher Betreuung und exzellenter Ausführung entwickeln wir, innovativ und individuell, maßgeschneiderte digitale Lösungen, die performen und verkaufen können.