GitHub
Kurz: Eine Cloud-Plattform zum Hosten von Git-Repositories, mit Zusatzfunktionen wie Pull Requests, Issues und CI/CD.
Genauer: Bietet über reines Git-Hosting hinaus Code-Review (Pull Requests), Aufgabenverwaltung (Issues), Automatisierung (GitHub Actions) und soziale Funktionen (Stars, Forks). Größter Konkurrent ist GitLab, das ähnliche Funktionen bietet und zusätzlich selbst gehostet werden kann.
Im Detail
Ein Pull Request (PR) ist der zentrale Kollaborations-Mechanismus auf GitHub: statt direkt in den Hauptbranch zu schreiben, schlägt man Änderungen auf einem eigenen Branch vor, andere können sie kommentieren, Änderungen anfordern und erst nach Freigabe wird gemerged — das macht Code-Review zum festen Bestandteil des Workflows statt einer nachträglichen Formalität.
GitHub Actions erlaubt es, automatisierte Abläufe (Tests, Builds, Deployments) direkt bei bestimmten Ereignissen (z. B. jedem Push oder PR) auszulösen, definiert in YAML-Dateien im Repository selbst:
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm testTrotz des Namens ist GitHub kein Teil von Git selbst, sondern ein eigenständiges, seit 2018 zu Microsoft gehörendes Produkt, das Git als zugrundeliegende Technologie nutzt — ein Repository lässt sich jederzeit auch ohne GitHub rein lokal oder über einen anderen Anbieter (GitLab, Bitbucket) verwalten.
Issues und Projektmanagement
Neben Code-Hosting ist GitHub für viele Teams auch das primäre Werkzeug für Aufgabenverwaltung: Issues dienen als Bug-Reports, Feature-Wünsche oder allgemeine Diskussionspunkte, lassen sich mit Labels, Meilensteinen und Zuständigen versehen und über Projektboards (Kanban-artige Spalten wie “To Do”, “In Progress”, “Done”) visuell organisieren. Commits und Pull Requests können Issues per Schlüsselwort automatisch schließen (Fixes #42 in einer Commit-Nachricht schließt Issue Nummer 42 beim Merge automatisch) — eine kleine, aber im Alltag sehr praktische Automatisierung.
Forks und Open-Source-Beiträge
Bei öffentlichen Open-Source-Projekten läuft der übliche Beitragsprozess über einen “Fork”: Statt direkten Schreibzugriff auf das Original-Repository zu benötigen, erstellt man eine eigene Kopie unter dem eigenen Account, nimmt dort Änderungen vor und stellt anschließend einen Pull Request gegen das Original-Repository. Die Maintainer des Originals entscheiden dann, ob und wie die vorgeschlagenen Änderungen übernommen werden — ein Modell, das es prinzipiell jedem erlaubt, zu praktisch jedem öffentlichen Projekt beizutragen, ohne dass Eigentümer die Kontrolle über ihr Repository verlieren.
GitHub Actions als CI/CD-Plattform
Über einfache Test-Automatisierung hinaus hat sich GitHub Actions zu einer vollwertigen CI/CD-Plattform entwickelt, mit einem großen Marktplatz vorgefertigter Actions (z. B. für Deployments zu AWS, Docker-Image-Builds, automatisches Veröffentlichen von Paketen). Workflows lassen sich durch verschiedenste Ereignisse auslösen — nicht nur Pushes, sondern auch neue Issues, Zeitpläne (Cron-Syntax) oder manuelle Trigger — und in mehrere parallel oder sequenziell laufende Jobs unterteilen, was komplexe Deployment-Pipelines direkt im Repository abbildbar macht, ohne separate CI-Infrastruktur zu betreiben.
Siehe auch: Git, GitLab, CI/CD-Pipeline