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 login

gh auth status — Authentifizierungs-Status anzeigen.

gh auth status

gh auth logout — Von GitHub abmelden.

gh auth logout

gh config set <key> <value> — Einen Konfigurationswert setzen.

gh config set editor vim

Pull 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 list

gh pr view <number> — Details eines Pull Requests anzeigen.

gh pr view 42

gh pr checkout <number> — Den Branch eines Pull Requests lokal auschecken.

gh pr checkout 42

gh pr merge <number> — Einen Pull Request mergen.

gh pr merge 42 --squash --delete-branch

gh pr diff <number> — Das Diff eines Pull Requests anzeigen.

gh pr diff 42

gh pr review <number> — Ein Review zu einem Pull Request hinzufügen.

gh pr review 42 --approve

gh pr close <number> — Einen Pull Request schließen.

gh pr close 42

Issues

gh issue create — Ein neues Issue erstellen (interaktiv).

gh issue create --title 'Bug report' --label bug

gh issue list — Offene Issues auflisten.

gh issue list --label bug

gh issue view <number> — Details eines Issues anzeigen.

gh issue view 15

gh issue close <number> — Ein Issue schließen.

gh issue close 15 --reason completed

gh 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 --clone

gh repo clone <repo> — Ein Repository klonen.

gh repo clone owner/repo

gh repo view — Details des aktuellen Repositories anzeigen.

gh repo view --web

gh repo fork <repo> — Ein Repository forken.

gh repo fork owner/repo --clone

gh repo list <owner> — Repositories eines Users oder einer Organisation auflisten.

gh repo list my-org --limit 50

gh repo rename <new-name> — Das aktuelle Repository umbenennen.

gh repo rename new-project-name

Actions & Workflows

gh run list — Aktuelle Workflow-Runs auflisten.

gh run list --limit 10

gh run view <run-id> — Details eines Workflow-Runs anzeigen.

gh run view 12345

gh run watch <run-id> — Einen laufenden Workflow in Echtzeit verfolgen.

gh run watch 12345

gh run rerun <run-id> — Einen fehlgeschlagenen Workflow erneut ausführen.

gh run rerun 12345 --failed

gh workflow list — Alle Workflows im Repository auflisten.

gh workflow list

gh workflow run <workflow> — Einen Workflow manuell auslösen.

gh workflow run deploy.yml --ref main

Releases & Gists

gh release create <tag> — Ein neues Release erstellen.

gh release create v1.0.0 --generate-notes

gh release list — Releases auflisten.

gh release list

gh release download <tag> — Release-Assets herunterladen.

gh release download v1.0.0

gh gist create <file> — Ein Gist aus einer Datei erstellen.

gh gist create script.sh --public

gh gist list — Deine Gists auflisten.

gh gist list

API & Erweiterungen

gh api <endpoint> — Eine authentifizierte GitHub-API-Anfrage senden.

gh api repos/owner/repo/contributors

gh 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-dash

gh extension list — Installierte Erweiterungen auflisten.

gh extension list

gh 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.

Verwandte Kommandos

  • git – das zugrunde liegende Versionskontrollsystem