GitHub CLI (kurz gh) ist ein Befehlszeilentool, mit dem Sie direkt vom Terminal aus mit GitHub arbeiten können. Damit können Sie Repositories, Issues, Pull Requests, Releases und andere Entitäten verwalten, ohne die GitHub-Weboberfläche aufrufen zu müssen.
CLI ist praktisch für Entwickler, DevOps-Ingenieure und alle, die die Arbeit mit GitHub automatisieren oder das Terminal dem Browser vorziehen.
Installation
GitHub CLI wird unter Windows, macOS und Linux unterstützt.
- Linux (Ubuntu/Debian):
sudo apt install gh
- macOS (über Homebrew):
brew install gh
- Windows (über Winget):
winget install --id GitHub.cli
Nach der Installation die Version prüfen:
gh --version
Autorisierung
Um auf private Repositories und Aktionen zugreifen zu können, müssen Sie sich autorisieren:
gh auth login
CLI bietet an:
- GitHub.com oder GitHub Enterprise auswählen
- Autorisierungsmethode (Browser, Token, SSH)
- Daten für spätere Ausführungen speichern
Den Status können Sie mit dem Befehl prüfen:
gh auth status
Hauptfunktionen
Arbeiten mit Repositories
Neues Repository erstellen:
gh repo create my-project
Klonen:
gh repo clone owner/repo
Informationen anzeigen:
gh repo view owner/repo
Issues
Issue erstellen:
gh issue create --title "Bug: crash on startup" --body "Steps to reproduce..."
Liste der Issues:
gh issue list
Bestimmte Issue anzeigen:
gh issue view 42
Pull Requests
Pull Request erstellen:
gh pr create --base main --head feature-branch --title "New feature" --body "Added new functionality"
Anzeigen:
gh pr list
gh pr view 123
Mergen:
gh pr merge 123 --squash --delete-branch
Actions (CI/CD)
Workflows ausführen:
gh workflow run build.yml
Status anzeigen:
gh run list
Nützliche Befehle
| Befehl | Zweck |
|---|---|
gh help | alle Befehle auflisten |
gh alias set co "pr checkout" | Alias für schnellen Befehl erstellen |
gh gist create file.txt | Datei als Gist hochladen |
gh release create v1.0.0 | Release erstellen |
Vorteile von GitHub CLI
- Zeitersparnis: Arbeiten mit GitHub ohne Browser.
- Skripting: Bequem in Bash/PowerShell zu automatisieren.
- Integration mit CI/CD.
- Ein einziges Tool für Befehle und GitHub API.
Ausgezeichnet 🚀 Dann erstellen wir eine Checkliste „TOP-10 GitHub CLI-Befehle für den täglichen Gebrauch“. Sie kann als Spickzettel verwendet werden.
✅ TOP-10 GitHub CLI-Befehle für den täglichen Gebrauch
1. Autorisierung
gh auth login
🔑 Autorisierung in GitHub über Browser oder Token. Nützlich für die Ersteinrichtung oder den Kontowechsel.
2. Autorisierungsstatus prüfen
gh auth status
📌 Prüft, ob CLI mit GitHub verbunden ist und wie.
3. Repository klonen
gh repo clone owner/repo
📥 Schnelles Klonen von Repositories ohne Suche nach einem Link in der Weboberfläche.
4. Neues Repository erstellen
gh repo create my-project
🆕 Repository direkt vom Terminal aus erstellen (lokal + auf GitHub).
5. Repository-Informationen anzeigen
gh repo view --web
📖 Zeigt Repository-Beschreibung und -Einstellungen an. Die Option --web öffnet die Seite sofort im Browser.
6. Issues auflisten
gh issue list
📋 Praktisch zum Anzeigen von Aufgaben und Fehlern direkt im Terminal.
7. Issue erstellen
gh issue create --title "Bug: login failed" --body "Steps to reproduce..."
🐞 Erstellt eine neue Aufgabe oder einen Fehlerbericht.
8. Pull Request erstellen
gh pr create --base main --head feature-branch --title "New feature" --body "Description..."
🔀 Hauptwerkzeug für die Teamarbeit: Öffnen eines Pull Requests von Ihrem Branch.
9. PR anzeigen und prüfen
gh pr view 123
👀 Pull Request mit Kommentaren und Prüfstatus anzeigen. Sie können --web hinzufügen, um im Browser zu öffnen.
10. PR mergen mit Branch-Löschung
gh pr merge 123 --squash --delete-branch
✅ Pull Request mergen + Branch in einem Schritt löschen.
📌 GitHub CLI — Spickzettel
🔑 Autorisierung und Einstellungen
| Befehl | Zweck |
|---|---|
gh auth login | Autorisierung (Browser, Token, SSH) |
gh auth status | Aktuelle Verbindung prüfen |
gh alias set co "pr checkout" | Alias für schnellen Befehl erstellen |
gh config get | CLI-Einstellungen abrufen |
📂 Repositories
| Befehl | Zweck | Beispiel |
|---|---|---|
gh repo create | Repository erstellen | gh repo create my-project |
gh repo clone | Repository klonen | gh repo clone hypo69/hypotez |
gh repo view | Repo-Info (oder im Web öffnen) | gh repo view --web |
gh repo fork | Repository forken | gh repo fork owner/repo |
📝 Issues
| Befehl | Zweck | Beispiel |
|---|---|---|
gh issue list | Aufgaben auflisten | gh issue list |
gh issue create | Issue erstellen | gh issue create --title "Bug" --body "Steps..." |
gh issue view | Issue anzeigen | gh issue view 42 |
gh issue close | Issue schließen | gh issue close 42 |
🔀 Pull Requests
| Befehl | Zweck | Beispiel |
|---|---|---|
gh pr list | PRs auflisten | gh pr list |
gh pr create | PR erstellen | gh pr create --base main --head feature-x |
gh pr view | PR anzeigen | gh pr view 123 --web |
gh pr checkout | Zu PR-Branch wechseln | gh pr checkout 123 |
gh pr merge | PR mergen | gh pr merge 123 --squash --delete-branch |
📦 Releases
| Befehl | Zweck | Beispiel |
|---|---|---|
gh release list | Releases auflisten | gh release list |
gh release create | Release erstellen | gh release create v1.0.0 --notes "First release" |
gh release upload | Datei zu Release hinzufügen | gh release upload v1.0.0 build.zip |
gh release view | Release anzeigen | gh release view v1.0.0 |
📜 Gists
| Befehl | Zweck | Beispiel |
|---|---|---|
gh gist create | Gist erstellen | gh gist create file.txt |
gh gist list | Gists auflisten | gh gist list |
gh gist view | Gist anzeigen | gh gist view abc123 |
gh gist edit | Gist bearbeiten | gh gist edit abc123 |
⚙️ Workflows (GitHub Actions)
| Befehl | Zweck | Beispiel |
|---|---|---|
gh workflow list | Workflows auflisten | gh workflow list |
gh workflow view | Workflow anzeigen | gh workflow view build.yml |
gh workflow run | Workflow ausführen | gh workflow run build.yml |
gh run list | Läufe auflisten | gh run list |
gh run watch | Lauf beobachten | gh run watch 123456789 |