Was ist eigentlich Github?
![Was ist eigentlich Github?](https://web.archive.org./web/20200426193757im_/https://assets.t3n.sc/news/wp-content/uploads/2016/04/GitHub-headquarter-SF.jpg?auto=format&fit=crop&h=348&ixlib=php-2.3.0&w=620)
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 will 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 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 mit. 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 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](https://web.archive.org./web/20200426193757im_/https://assets.t3n.sc/news/wp-content/uploads/2016/04/t3n-graphql-repository.png?auto=format&h=614&ixlib=php-2.3.0&w=1041)
So sieht eine Projektansicht auf GitHub typischerweise aus. (Screenshot: t3n)
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 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.
![](https://web.archive.org./web/20200426193757im_/https://assets.t3n.sc/news/wp-content/uploads/2016/04/t3n-github-network-graph.png?auto=format&h=725&ixlib=php-2.3.0&w=1020)
GitHub visualisiert alle Änderungen verschiedener Autoren 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 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 Repositorys 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 Repositorys 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, will 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ührt oder nicht.
- Fork: Da alle öffentlichen Git-Projekte unter Open-Source-Lizenz stehen, kann auch jeder einen eigenen Ableger eines Repositorys, 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 Open-Source-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.
![](https://web.archive.org./web/20200426193757im_/https://assets.t3n.sc/news/wp-content/uploads/2016/04/Nutzerprofil-t3n-GitHub.png?auto=format&h=684&ixlib=php-2.3.0&w=1200)
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 einem Entwickler folgt, bekommt ihr automatisch alle Updates der Person beziehungsweise des Projekts mit und könnt euch sofort die neueste Version heunterladen, 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.
Weitere Artikel, die dich interessieren könnten:
- Was ist eigentlich ein SSL-Zertifikat?
- Was sind eigentlich AR und VR?
- Was ist eigentlich Clickbait?
- Was ist eigentlich künstliche Intelligenz?
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
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?
AntwortenDass ich nicht lache… Der Satz ist wirklich sowas von falsch, echt traurig.
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.
Antwortenwirklich 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.
AntwortenNaja, wenns jemand nicht kennt, weiss er jetzt wenigstens was darüber…
„[…] die Programmiersprache Ruby on Rails […]“
Ruby on Rails (RoR) ist ein Framwork, das auf der Progammiersprache Ruby basiert!
AntwortenÄ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.
AntwortenUnd dieser Artikel gehört in der Form einfach nicht hier hin.
@ 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.
AntwortenIch mach mich ja gerne unbeliebt ;-)
AntwortenDein 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 :-)
Was ihr hier wieder alle habt!?! Wenn ihr das alles kennt, dann last es doch gut sein und lest woanders weiter!
AntwortenIch 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…
Um die Antwort auf „Wie funktioniert eigentlich GitHub?“ vorwegzunehmen: Einfach mal nach „git – the simple guide“ googlen
AntwortenDanke 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.
AntwortenHat 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“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.
AntwortenDas 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?
AntwortenIch 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