Was ist GitUI?
GitUI ist eine Terminal-Oberfläche für git, geschrieben in Rust. Sie bietet genau die Teile einer git-GUI, die sich wirklich lohnen — einzelne Hunks und Zeilen stagen, Diffs lesen, das Log durchsuchen, stashen, blamen, branchen und pushen — ohne das Terminal zu verlassen und ohne die Hänger, die bekannte GUIs bei großen Repositories haben.
⚡ Hauptfunktionen von GitUI
⚡ Schnell bei riesigen Repositories
Der Benchmark von upstream liest die komplette Linux-Kernel-Historie in rund 24 Sekunden mit etwa 170 MB Speicher — dort, wo schwerere GUIs einfrieren oder abstürzen.
✂️ Hunks und Zeilen stagen
Ganze Dateien, einzelne Hunks oder einzelne Zeilen stagen, unstagen, zurücknehmen und zurücksetzen — der Grund, warum die meisten überhaupt eine git-GUI öffnen.
📜 Log und Diffs
Das Commit-Log durchblättern und durchsuchen, den Diff jedes Commits ansehen und eine Datei zeilenweise blamen — alles in derselben Tastatur-Oberfläche.
📦 Stashing
Stashes speichern, poppen, anwenden, verwerfen und ansehen — in einem eigenen Tab, statt sich die git stash-Unterbefehle zu merken.
🌿 Branches und Remotes
Branches anlegen, umbenennen, löschen und auschecken, mit Remotes arbeiten sowie pushen und fetchen, ohne zurück in die Shell zu wechseln.
⌨️ Kontextbezogene Hilfe
? zeigt genau die Tasten, die in der aktuellen Ansicht funktionieren, und mit key_bindings.ron lässt sich alles neu belegen — auf Wunsch vim-artig.
apt upgrade hält dich auf der neuesten Version.
📦 Installation aus deb.griffo.io
Schritt 1: Repository hinzufügen
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh und Zed; GitUI ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.
🧩 Zur extrepo-Option. extrepo ist Debians eigenes Werkzeug für externe Repositories: Es legt die Sources-Datei an und installiert den Signaturschlüssel für dich, nachdem es ihn gegen signierte Metadaten geprüft hat. Dieses Repository ist dort als griffo registriert, der für immer kostenlose Spiegel als griffo-free. Unter Debian (bookworm, trixie, forky und sid) sind die Befehle oben damit die gesamte Einrichtung.
extrepo richtet nur die Sources-Datei und den Schlüssel ein; die Zugangsdaten eines Abos gehören weiterhin in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu wird nicht abgedeckt, denn extrepo veröffentlicht Metadaten nur für Debian-Suites: dort nimmst du die Befehle mit sudo oder als root.
Schritt 2: GitUI installieren
# Neuestes GitUI installieren
sudo apt install gitui
# Installation überprüfen
gitui --version# Neuestes GitUI installieren
apt install gitui
# Installation überprüfen
gitui --versionSchritt 3: Erster Start und Konfiguration
# In einem beliebigen git-Repository öffnen
cd /path/to/your/repo
gitui
# Jederzeit ? drücken für die Tasten der aktuellen Ansicht
# Theme und Tastenbelegung liegen im Konfigurationsverzeichnis
ls ~/.config/gitui/
# Zum Beispiel eine vim-artige Belegung
$EDITOR ~/.config/gitui/key_bindings.ron🎯 Grundlegende Verwendungsbeispiele
Repositories öffnen:
# Das Repository im aktuellen Verzeichnis
gitui
# Ein bestimmtes Repository, ohne hineinzuwechseln
gitui -d ~/src/linux
# Getrenntes Arbeitsverzeichnis und git-Verzeichnis
gitui -d ~/src/project/.git -w ~/src/project
# Mit bereits ausgewählter Datei im Dateien-Tab starten
gitui -f src/main.rsAussehen und Bedienung:
# Eine Theme-Datei aus ~/.config/gitui/
gitui -t mytheme.ron
# Eine eigene Datei mit Tastenbelegungen
gitui -k ~/.config/gitui/key_bindings.ron
# Eigene Tastensymbole für Tastaturen, die sie anders darstellen
gitui -s ~/.config/gitui/key_symbols.ron
# Den Dateisystem-Watcher statt zyklischer Aktualisierung nutzen
gitui --watcherWenn etwas geklärt werden muss:
# Umgebungsdaten für einen Fehlerbericht sammeln
gitui --bugreport
# Beim Nachstellen eines Problems ein Log schreiben
gitui --logging --logfile /tmp/gitui.log
# Die git-CLI ist weiterhin für alles da, was GitUI nicht abdeckt
git rebase -i origin/main
# HTTPS-Pushes brauchen einen explizit konfigurierten Credential-Helper
git config --global credential.helper store🔧 Tool-Integrationen
GitUI setzt auf deinem vorhandenen git-Setup auf:
- Deine Repositories: ein ganz normales git-Repository, gelesen und geschrieben über ein Rust-git-Backend — nichts daran ist GitUI-spezifisch
- Hooks:
pre-commit,commit-msg,post-commitundprepare-commit-msglaufen wie auf der Kommandozeile - GPG-Signaturen: signierte Commits funktionieren, mit den Einschränkungen, die upstream in seinem Issue-Tracker dokumentiert
- Themes und Tastenbelegungen:
theme.ron,key_bindings.ronundkey_symbols.ronin~/.config/gitui/ - Über SSH: auf entfernten Maschinen schnell genug, dass das Aufräumen eines Commits auf dem Server keine Qual mehr ist; der amd64-Build braucht keine Bibliotheken
🚀 Warum deb.griffo.io?
- Offizielles Debian: paketiert GitUI überhaupt nicht —
apt install gituischlägt auf einem Standardsystem fehl - cargo install gitui: aktuell, aber ein langer Rust-Build pro Maschine, außerhalb von apt und außerhalb deiner Update-Routine
- Upstream-Tarball: das offizielle Binary, das du für jedes Release von Hand neu holst
- deb.griffo.io: neueste Version mit automatischen Updates
- ✅ Noch vor 1.0: GitUI bekommt in normalen Releases echte Funktionen — die aktuelle Version zu fahren entscheidet, ob du Submodule, Log-Suche und Blame hast oder nicht
- ✅ Die einzige apt-Quelle: GitUI ist weder in den Debian- noch in den Ubuntu-Archiven; dieses Repository paketiert den offiziellen Upstream-Build
- ✅ Automatische Updates: Pakete werden innerhalb von Stunden nach Upstream-Releases aktualisiert
- ✅ Ehrliche Paketierung: das Upstream-Binary unter
/usr/bin/gitui— upstream liefert weder Handbuchseite noch Vervollständigungen, also erfindet das Paket auch keine - ✅ Drei Architekturen: amd64 (statischer musl-Build), arm64 und armhf, mit deklarierten Bibliotheksabhängigkeiten dort, wo upstream gegen glibc linkt
- ✅ Multi-Distribution: läuft auf Bookworm, Trixie, Forky und Sid
- ✅ Einfache Wartung: Updates mit den üblichen apt-Befehlen
📦 Paket-Build-Repository
Die Debian-Pakete werden in diesem GitHub-Repository automatisch gebaut und gepflegt:
- 🎛️ gitui-debian - Builds der neuesten Releases
🔗 Verwandte Pakete
Ebenfalls verfügbar über deb.griffo.io:
- lazygit - Die andere Terminal-git-UI, falls dir ihr Layout mehr liegt
- Jujutsu - Git-kompatibles VCS mit erstklassigen Rebases
- Forgejo - Selbstgehostete Forge, um die Branches hinzuschieben
- Neovim - Editor für alles, wohin der Diff dich schickt