GitHub CLI (gh) — GitHub aus dem Terminal steuern
Praxis-Guide zur GitHub CLI — Pull Requests, Issues, Releases, Repositories und Actions direkt im Terminal verwalten.
Die GitHub CLI bringt GitHub direkt in dein Terminal: Pull Requests, Issues, Releases, Repositories, Actions und Gists steuerst du, ohne den Browser zu öffnen. gh ist das offizielle Werkzeug von GitHub und spricht die GitHub-API nativ – inklusive Authentifizierung, Skripting und Erweiterungen. Wer ohnehin mit git arbeitet, verkürzt mit gh den Weg vom lokalen Branch zum gemergten Pull Request spürbar. Dieser Guide zeigt dir die wichtigsten Kommandos für den Alltag, von der Anmeldung bis zum API-Zugriff.
Authentifizierung & Setup
gh auth login — Bei GitHub anmelden.
gh auth logingh auth status — Authentifizierungs-Status anzeigen.
gh auth statusgh auth logout — Von GitHub abmelden.
gh auth logoutgh config set <key> <value> — Einen Konfigurationswert setzen.
gh config set editor vimPull Requests
gh pr create — Einen Pull Request erstellen (interaktiv).
gh pr create --title 'Fix bug' --body 'Description'gh pr list — Offene Pull Requests auflisten.
gh pr listgh pr view <number> — Details eines Pull Requests anzeigen.
gh pr view 42gh pr checkout <number> — Den Branch eines Pull Requests lokal auschecken.
gh pr checkout 42gh pr merge <number> — Einen Pull Request mergen.
gh pr merge 42 --squash --delete-branchgh pr diff <number> — Das Diff eines Pull Requests anzeigen.
gh pr diff 42gh pr review <number> — Ein Review zu einem Pull Request hinzufügen.
gh pr review 42 --approvegh pr close <number> — Einen Pull Request schließen.
gh pr close 42Issues
gh issue create — Ein neues Issue erstellen (interaktiv).
gh issue create --title 'Bug report' --label buggh issue list — Offene Issues auflisten.
gh issue list --label buggh issue view <number> — Details eines Issues anzeigen.
gh issue view 15gh issue close <number> — Ein Issue schließen.
gh issue close 15 --reason completedgh issue comment <number> — Einen Kommentar zu einem Issue hinzufügen.
gh issue comment 15 --body 'Fixed in PR #42'gh issue edit <number> — Ein Issue bearbeiten (Titel, Body, Labels, Assignees).
gh issue edit 15 --add-label 'priority:high'Repositories
gh repo create <name> — Ein neues Repository erstellen.
gh repo create my-project --public --clonegh repo clone <repo> — Ein Repository klonen.
gh repo clone owner/repogh repo view — Details des aktuellen Repositories anzeigen.
gh repo view --webgh repo fork <repo> — Ein Repository forken.
gh repo fork owner/repo --clonegh repo list <owner> — Repositories eines Users oder einer Organisation auflisten.
gh repo list my-org --limit 50gh repo rename <new-name> — Das aktuelle Repository umbenennen.
gh repo rename new-project-nameActions & Workflows
gh run list — Aktuelle Workflow-Runs auflisten.
gh run list --limit 10gh run view <run-id> — Details eines Workflow-Runs anzeigen.
gh run view 12345gh run watch <run-id> — Einen laufenden Workflow in Echtzeit verfolgen.
gh run watch 12345gh run rerun <run-id> — Einen fehlgeschlagenen Workflow erneut ausführen.
gh run rerun 12345 --failedgh workflow list — Alle Workflows im Repository auflisten.
gh workflow listgh workflow run <workflow> — Einen Workflow manuell auslösen.
gh workflow run deploy.yml --ref mainReleases & Gists
gh release create <tag> — Ein neues Release erstellen.
gh release create v1.0.0 --generate-notesgh release list — Releases auflisten.
gh release listgh release download <tag> — Release-Assets herunterladen.
gh release download v1.0.0gh gist create <file> — Ein Gist aus einer Datei erstellen.
gh gist create script.sh --publicgh gist list — Deine Gists auflisten.
gh gist listAPI & Erweiterungen
gh api <endpoint> — Eine authentifizierte GitHub-API-Anfrage senden.
gh api repos/owner/repo/contributorsgh api <endpoint> --jq '<filter>' — API-Anfrage mit jq-Filterung.
gh api repos/owner/repo/pulls --jq '.[].title'gh extension install <repo> — Eine gh-CLI-Erweiterung installieren.
gh extension install dlvhdr/gh-dashgh extension list — Installierte Erweiterungen auflisten.
gh extension listgh browse — Das aktuelle Repository im Browser öffnen.
gh browse Fazit
gh schlägt die Brücke zwischen lokalem git und der GitHub-Plattform: Pull Requests, Reviews und Releases erledigst du, ohne die Hände von der Tastatur zu nehmen. Besonders stark wird das Tool in Skripten und CI/CD-Pipelines – mit gh api und --jq greifst du strukturiert auf jede Stelle der GitHub-API zu und automatisierst wiederkehrende Abläufe.
Weiterführende Links
- GitHub CLI – offizielle Website – Download und Überblick (englisch)
- GitHub CLI – Handbuch – vollständige Befehlsreferenz (englisch)
- GitHub – Wikipedia – Hintergrund zur Plattform
Verwandte Kommandos
- git – das zugrunde liegende Versionskontrollsystem