Was ist GitHub und wie funktioniert es?
Autor: Redaktion Domeny.ForSale Veröffentlicht
Kurz gesagt: GitHub ist eine Onlineplattform zum Speichern von Projekten, Nachverfolgen von Änderungen und gemeinsamen Arbeiten an Code und Dokumentation. Sie nutzt Git – ein System, das den Änderungsverlauf von Dateien festhält. Du kannst GitHuba für eigene Projekte, die Zusammenarbeit im Team oder das Melden von Fehlern in fremden Programmen verwenden. Dafür musst du nicht gleich Terminalbefehle kennen.
GitHub und Git – was ist der Unterschied?
Git ist ein Versionskontrollsystem, also ein Werkzeug, mit dem du aufeinanderfolgende Projektstände speichern, Änderungen vergleichen und zu früheren Versionen zurückkehren kannst. Es läuft lokal auf deinem Computer und erfordert kein Konto bei einem Onlinedienst. Statt Ordner wie „projekt-final“ und „projekt-final-korrigiert“ anzulegen, speicherst du Änderungen zusammen mit einer Beschreibung.
GitHub ist ein Dienst, der Git nutzt und einen gemeinsamen Ort für das Projekt, Codeprüfungen, Diskussionen und die Verwaltung von Zugriffsrechten bereitstellt. GitHub und Git sind also nicht zwei Namen für dasselbe Werkzeug. Git lässt sich ohne GitHuba nutzen, auch mit anderen Plattformen wie GitLab oder Bitbucket.
Der zentrale Arbeitsbereich ist das Repository: eine Sammlung der Projektdateien samt Änderungsverlauf. Ein Repository auf GitHubie kann öffentlich und damit für alle sichtbar sein oder privat, sodass nur berechtigte Personen darauf zugreifen können. Ein privates Repository ersetzt jedoch nicht die Regeln für eine sichere Datenspeicherung.
Wofür wird GitHub in der Praxis verwendet?
Meist dient GitHub der Arbeit an Software. Du kannst dort aber auch Dokumentation, Schulungsmaterialien oder die Textdateien einer Website speichern. Besonders gut eignet sich die Plattform für Inhalte, bei denen ein zeilenweiser Vergleich von Änderungen hilfreich ist. Als reine Ablage für große Videos, Fotos oder Dokumente, die in einem Office-Paket bearbeitet werden müssen, ist sie weniger praktisch.
Die Plattform unterstützt mehrere zusammenhängende Aufgaben:
- Den Projektverlauf festhalten – nachvollziehen, wer einen bestimmten Abschnitt geändert und wie die Änderung beschrieben hat.
- Änderungen vor der Übernahme prüfen – einen Vorschlag besprechen und um Korrekturen bitten.
- Fehler und Ideen melden – mithilfe von Issues, also Meldungen, die einem Repository zugeordnet sind.
- Arbeit automatisieren – mit GitHub Actions beispielsweise nach einer Codeänderung Tests ausführen.
- Einfache Websites veröffentlichen – GitHub Pages ermöglicht die Bereitstellung statischer Websites, die unter anderem aus HTML-, CSS- und JavaScript-Dateien bestehen.
GitHub Pages ist kein universelles Hosting für Anwendungen mit einer Datenbank und serverseitig ausgeführtem Code. Auch das bloße Ablegen eines Projekts in einem Repository bedeutet nicht, dass die Anwendung unter einer öffentlichen Adresse läuft. Dafür muss sie in einer geeigneten Umgebung gestartet werden.
Wie funktioniert die Zusammenarbeit an Änderungen?
Stell dir ein Team vor, das eine Unternehmenswebsite betreut. Eine Person verbessert das Kontaktformular, eine andere ändert die Preisliste. Beide können auf getrennten Branches arbeiten, also parallelen Entwicklungszweigen des Projekts, ohne dessen Hauptversion sofort zu verändern.
Änderungen werden in Commits gespeichert. Ein Commit hält einen Projektstand mit Angaben zum Autor und einer Beschreibung fest, zum Beispiel „Validierung der E-Mail-Adresse verbessern“. Kleine, gut beschriebene Commits erleichtern es später, die Entstehung einer bestimmten Änderung nachzuvollziehen.
Wenn das Formular fertig ist, öffnet die verantwortliche Person einen Pull Request. Das ist ein Vorschlag, die Änderungen in einen ausgewählten Branch zu übernehmen, meist in den Hauptbranch. Die anderen sehen die Unterschiede, können Kommentare hinzufügen und die Testergebnisse prüfen. Nach der Prüfung lassen sich die Änderungen zusammenführen – dieser Vorgang heißt Merge.
Wenn zwei Personen denselben Abschnitt unterschiedlich ändern, kann ein Konflikt entstehen. Git kann ihn nicht immer automatisch lösen: Ein Mensch muss entscheiden, welche Version oder welche Kombination der Versionen richtig ist. Die Plattform unterstützt die Zusammenarbeit, ersetzt aber nicht die Beurteilung der Codequalität.
Wie kannst du ohne Terminalkenntnisse anfangen?
Um öffentliche Repositories anzusehen, brauchst du normalerweise kein Konto. Ein Konto ist hilfreich, wenn du eigene Projekte erstellen, kommentieren oder Probleme melden möchtest. Dein erstes Repository kannst du im Browser einrichten:
- Erstelle ein Konto und aktiviere die Zwei-Faktor-Authentifizierung, also eine zusätzliche Bestätigung bei der Anmeldung.
- Wähle die Option zum Erstellen eines Repositorys, gib ihm einen Namen und lege bewusst fest, ob es öffentlich oder privat sein soll.
- Füge die Datei README.md hinzu – eine Projektbeschreibung, die auf der Hauptseite des Repositorys angezeigt wird. Die Dateiendung
.mdsteht für Markdown, eine einfache Art der Textformatierung. - Schreibe eine kurze Beschreibung des Projektziels und speichere sie als Commit.
- Erstelle einen Branch, überarbeite die Beschreibung und öffne einen Pull Request, um das Prüfen von Unterschieden zu üben.
Für bequemeres Arbeiten mit Dateien auf deinem Computer kannst du später GitHub Desktop nutzen, eine grafische Anwendung für typische Git-Vorgänge. Das Klonen eines Repositorys erstellt eine lokale Kopie samt Änderungsverlauf. Beim Herunterladen eines ZIP-Archivs erhältst du dagegen nur die Dateien, keine für die Arbeit mit dem Git-Verlauf vorbereitete Kopie.
Worauf solltest du vor der Veröffentlichung eines Projekts achten?
Speichere keine Passwörter, API-Schlüssel oder Kundendaten im Repository. Wenn du eine vertrauliche Information aus der aktuellen Datei entfernst, verschwindet sie nicht automatisch aus früheren Commits. Wurde ein Schlüssel offengelegt, musst du ihn zunächst widerrufen oder ersetzen. Anschließend solltest du den Änderungsverlauf bereinigen und die Folgen des Datenlecks prüfen.
Öffentlich zugänglicher Code bedeutet nicht automatisch, dass jede Nutzung erlaubt ist. Prüfe die Lizenzdatei, die häufig LICENSE heißt, und die Bedingungen der verwendeten Abhängigkeiten. Das ist ein allgemeiner Hinweis, keine individuelle Rechtsberatung. Eine fehlende Lizenz bedeutet nicht, dass kein Urheberrecht besteht.
GitHub bietet kostenlose und kostenpflichtige Funktionen. Prüfe vor der Einführung im Team anhand der offiziellen Preisübersicht und Dokumentation, welche aktuellen Grenzen für Automatisierung, Speicherplatz und Funktionen im jeweiligen Tarif gelten.
Lege zum Einstieg ein privates Repository mit einer beispielhaften README an und führe eine Änderung über einen Branch und einen Pull Request durch. So lernst du den grundlegenden Arbeitsablauf kennen, ohne echten Code oder echte Daten zu veröffentlichen.
Siehe auch: Was ist 2FA?
