GitHub ist die größte Webplattform für das Hosting von Git-Repositorys, kollaborative Entwicklung und Prozessautomatisierung, im Besitz von Microsoft. Sie bietet nicht nur versionskontrollierte Codespeicherung, sondern auch eine vollständige Reihe von Projektmanagement-Tools: Issue Tracking, Pull Requests mit Code-Review, Actions für CI/CD und Wiki für Dokumentation. Laut GitHub, 2024 hat die Plattform über 100 Millionen Entwickler und 420 Millionen Repositorys.
Wichtige Punkte
GitHub ist ein Webdienst zum Speichern und Zusammenarbeiten an Git-Repositorys, gegründet 2008 von Tom Preston-Werner, Chris Wanstrath und PJ Hyett. Im Jahr 2018 wurde das Unternehmen von Microsoft für 7,5 Milliarden US-Dollar übernommen. Die Plattform bietet eine Weboberfläche für alle Git-Operationen und fügt soziale Funktionen hinzu: Forks, Sterne, Abonnements, Code-Review und ein integriertes System für kontinuierliche Integration.
Der Hauptunterschied zwischen GitHub und seinen Konkurrenten ist das offene Ökosystem und die größte Entwickler-Community. GitHub hostet den Quellcode von Android, Kubernetes, React, Swift, Kotlin und Tausenden anderer Open-Source-Projekte. Dies macht die Plattform nicht nur zu einem Code-Speicherwerkzeug, sondern auch zu einem sozialen Netzwerk für Entwickler: Sie können Projekten folgen, Änderungen diskutieren und über Pull Requests beitragen.
Laut einem Microsoft-Bericht (2024) durchlaufen täglich mehr als 10 Millionen neue Pull Requests GitHub, und die Anzahl der monatlich aktiven Nutzer hat 100 Millionen überschritten. Die Plattform unterstützt über 500 Programmiersprachen, automatische Spracherkennung durch Dateierweiterungen und Syntax-Highlighting von Code.
Die Funktionalität von GitHub geht weit über einfaches Git-Hosting hinaus. Die Plattform bietet: GitHub Actions — ein integriertes CI/CD-System; GitHub Packages — eine Registrierung für Pakete und Container; GitHub Codespaces — cloudbasierte Entwicklungsumgebungen auf Basis von VS Code; GitHub Discussions — ein Forum für die Community; GitHub Security — Dependabot für automatische Abhängigkeitsupdates und Schwachstellenscans; GitHub Copilot — einen KI-Assistenten zum Schreiben von Code.
Für Organisationen bietet GitHub GitHub Enterprise an — eine Enterprise-Version mit selbstgehostetem (GitHub Enterprise Server) oder Cloud-Deployment (GitHub Enterprise Cloud). Zu den Enterprise-Funktionen gehören SAML/SSO-Authentifizierung, Audit-Logging, Repository-Sicherheitsrichtlinien und eine 99,95%ige Verfügbarkeits-SLA. Die Enterprise-Version wird von Unternehmen wie Google, Apple und Airbnb verwendet.
Eine wichtige Funktion von GitHub ist GitHub CLI (gh), mit der Sie alle Plattformoperationen über die Befehlszeile ohne Verwendung der Weboberfläche ausführen können. Mit gh können Sie Repositorys erstellen, Issues verwalten, Pull Requests überprüfen und Actions direkt vom Terminal aus ausführen, was die Arbeit von entwicklern beschleunigt, die an die Befehlszeile gewöhnt sind.
| Funktion | Zweck | Verfügbarkeit |
|---|---|---|
| Actions | CI/CD und Automatisierung | Kostenlos 2000 Min/Monat |
| Codespaces | Cloud-IDE basierend auf VS Code | Bezahlt, 60 Std/Monat kostenlos |
| Packages | Paket- und Docker-Image-Hosting | Kostenlos 500 MB |
| Dependabot | Automatische Abhängigkeitsupdates | Kostenlos für öffentliche Repos |
| Pages | Hosting statischer Seiten | Kostenlos |
Pull Request (PR) ist der Hauptmechanismus für Änderungen an einem Projekt auf GitHub. Ein Entwickler erstellt einen Branch mit Änderungen, veröffentlicht ihn auf GitHub und sendet eine Merge-Anfrage (Pull Request) an den Hauptbranch. Andere Projektteilnehmer sehen den Unterschied (Diff) zwischen den Branches, können Kommentare zu bestimmten Codezeilen hinterlassen, Änderungen vorschlagen und die Anfrage genehmigen oder ablehnen.
Der Code-Review-Prozess auf GitHub ist um PRs herum aufgebaut. Jeder Kommentar wird an eine bestimmte Zeile im Diff angehängt und kann drei Typen haben: Comment (normaler Kommentar), Request Changes (erfordert Korrekturen) und Approve (Genehmigung). Nachdem Änderungen vorgenommen wurden, aktualisiert der Autor den PR mit einem neuen Commit, und der Review-Prozess wiederholt sich. Sobald alle Einwände ausgeräumt und der PR genehmigt ist, werden die Änderungen in den Zielbranch gemergt.
# Feature-Branch erstellen und pushen
git checkout -b fix-login-bug
git add src/
git commit -m "Fix login validation error"
git push -u origin fix-login-bug
# PR über CLI erstellen
gh pr create --base main --title "Fix login validation" \
--body "Fixed edge case with empty email field"
# PR anzeigen und mergen
gh pr review --approve fix-login-bug
gh pr merge --squash fix-login-bug
GitHub unterstützt Branch-Schutzregeln: Sie können direkte Pushs zu main verhindern, eine obligatorische Anzahl von Genehmigungen vor dem Merge verlangen, Actions-Prüfungen ausführen und verlangen, dass der Branch vor dem Merge auf dem neuesten Stand ist. Branch-Schutz wird in Settings → Branches konfiguriert und ist eine obligatorische Praxis für Produktionsprojekte, die das versehentliche Einführen von instabilem Code in den Hauptbranch verhindert.
GitHub Actions ist eine integrierte CI/CD-Plattform, mit der Sie Workflows direkt im Repository automatisieren können. Workflows werden in YAML-Dateien beschrieben, die sich im Verzeichnis .github/workflows/ befinden. Jeder Workflow besteht aus einem oder mehreren Jobs, die auf Runnern ausgeführt werden — virtuellen Maschinen mit Linux, Windows oder macOS.
Actions unterstützt ein ereignisgesteuertes Modell: Workflows werden bei Push, PR-Erstellung, Release-Veröffentlichung, nach Zeitplan oder über Webhook ausgelöst. Dies ermöglicht die Automatisierung von Builds, Tests, statischer Codeanalyse, Veröffentlichung in App-Stores und Deployment auf Servern ohne Entwicklerbeteiligung. Nachfolgend ein Beispiel-Workflow für ein Android-Projekt:
name: Android CI
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
- name: Build with Gradle
run: ./gradlew assembleDebug
Das Actions-Ökosystem umfasst über 20.000 fertige Aktionen im GitHub Marketplace. Beliebte Aktionen: checkout (Repository klonen), setup-java/setup-node/setup-python (Umgebungseinrichtung), upload-artifact (Build-Artefakte speichern), cache (Abhängigkeits-Caching für Geschwindigkeit), slack-notify (Benachrichtigungen an Slack senden). Actions unterstützt auch Matrix-Builds — gleichzeitige Ausführung auf mehreren Betriebssystem- oder Sprachversionen.
Issues ist ein integriertes Aufgabenverfolgungssystem auf GitHub. Jedes Issue hat einen Titel, eine Beschreibung, Labels, Bearbeiter, Meilensteine und verknüpfte Pull Requests. Issues können vorlagenbasiert sein — für Fehlerberichte, Funktionsanfragen oder Fragen werden unterschiedliche Vorlagen verwendet, die beim Erstellen automatisch eingefügt werden.
GitHub Projects (früher Projects Beta) ist ein boardbasiertes Projektmanagement-Tool, ähnlich wie Jira und Trello. Projects unterstützt benutzerdefinierte Felder (Status, Priorität, Sprint), Verknüpfung mit Issues und Pull Requests, Automatisierung der Kartenbewegung bei Statusänderungen und Analysen in Form eines Burndown-Diagramms. Projects ist in zwei Modi verfügbar: Table (Tabellenansicht) und Board (Kanban-Board).
Für das Release-Management bietet GitHub Milestones — Gruppen von Issues und PRs, die durch ein gemeinsames Ziel mit einer Frist verbunden sind. Jeder Meilenstein zeigt den Fortschritt: wie viele Aufgaben offen sind, wie viele geschlossen sind und ob die Frist eingehalten wird. Meilensteine integrieren sich mit Releases — bei der Veröffentlichung eines Releases können Sie es mit einem Meilenstein verknüpfen und automatisch einen CHANGELOG basierend auf geschlossenen Issues generieren.
GitHub Pages ist kostenloses Hosting für statische Seiten, das automatisch Repository-Inhalte unter https://username.github.io/repository veröffentlicht. Pages unterstützt HTML, CSS, JavaScript und statische Generatoren: Jekyll (integriert), Hugo, Next.js (Export) und MkDocs. Die Konfiguration umfasst die Auswahl des Branches und Verzeichnisses für die Veröffentlichung sowie die Unterstützung benutzerdefinierter Domains.
Für technische Dokumentation bietet GitHub Wiki — ein integriertes Wiki-System, das ebenfalls als Git-Repository gespeichert wird. Wiki unterstützt Markdown und ermöglicht die Bearbeitung von Seiten sowohl über die Weboberfläche als auch lokal durch Push in das Wiki-Repository. Jede Wiki-Seite hat einen eigenen Änderungsverlauf, was für die Dokumentation von APIs, Architektur und Projektprozessen praktisch ist.
Die Kombination aus GitHub Pages + Jekyll ist eine beliebte Lösung für Dokumentationsseiten. Jekyll konvertiert automatisch Markdown-Dateien in statische HTML-Seiten, unterstützt Themes, Navigation und Suche. Beispielsweise verwendete die Android Developers-Dokumentation früher Jekyll auf GitHub Pages und verwendet jetzt eine interne Plattform, aber Tausende von Open-Source-Projekte verwenden weiterhin diese Kombination für ihre Seiten.
GitHub CLI (gh) ermöglicht die Ausführung aller Plattformoperationen über die Befehlszeile: Repositorys erstellen, Issues verwalten, Pull Requests anzeigen und genehmigen, Actions ausführen. Der Befehl gh repo create my-project --public erstellt ein entferntes Repository und verknüpft es mit dem lokalen, während gh pr create einen Pull Request aus dem aktuellen Branch erstellt. Die CLI beschleunigt die Arbeit von Entwicklern, die das Terminal der Weboberfläche vorziehen.
GitHub REST API und GraphQL API bieten programmatischen Zugriff auf alle Plattformfunktionen: Erstellen von Issues, Benutzerverwaltung, Abrufen von Statistiken und Verwalten von Actions. Die GraphQL API ist für komplexe Abfragen vorzuziehen, da sie das Abrufen nur der benötigten Felder in einer einzigen Anfrage ermöglicht. Das Ratelimit für die REST API beträgt 5000 Anfragen pro Stunde für authentifizierte Benutzer. Die API wird häufig verwendet, um GitHub in externe CI-Systeme und interne DevOps-Tools zu integrieren.
GitHub Gist ist ein Dienst zum Veröffentlichen von Code-Snippets ohne Erstellung eines vollständigen Repositorys. Gist unterstützt Syntax-Highlighting, Einbettung in externe Seiten und Versionsverlauf. Jeder Gist kann öffentlich (in der Suche sichtbar) oder geheim (nur über Link zugänglich) sein. Gist wird zum schnellen Teilen von Konfigurationen, Protokollen und Codebeispielen in der Teamkommunikation sowie als Alternative zu Pastebin für Entwickler verwendet.
Häufig gestellte Fragen
GitHub konzentriert sich auf offene Community und soziale Funktionen (Forks, Sterne). GitLab bietet leistungsfähigeres integriertes CI/CD und selbstverwaltetes Hosting ohne Einschränkungen bei Actions-Minuten.
GitHub Team kostet 4 US-Dollar pro Benutzer und Monat und bietet unbegrenzte private Repositorys, Branch-Schutz und Actions (3000 Minuten). Der kostenlose Tarif eignet sich für kleine Open-Source-Projekte.
Wählen Sie beim Erstellen des Repositorys Private statt Public. In privaten Repositorys ist Code nur für eingeladene Mitarbeiter sichtbar. Im kostenlosen Tarif sind private Repositorys mit einer Begrenzung auf bis zu 3 Mitarbeiter verfügbar.
GitHub Copilot ist ein KI-Assistent auf Basis von OpenAI Codex, der Echtzeit-Code-Autovervollständigung bietet. Es funktioniert in VS Code, JetBrains und Neovim und unterstützt alle gängigen Programmiersprachen.
Gehen Sie zu Settings → Danger Zone → Delete this repository. Das Löschen ist endgültig — alle Commits, Issues und Wiki werden ohne Wiederherstellungsmöglichkeit gelöscht. Stellen Sie sicher, dass Sie vorher ein Backup haben.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch