GitUI - Terminal UI für Git Spickzettel
gitui ist eine schnelle, tastaturgesteuerte Terminal UI für Git, geschrieben in Rust. Sie gibt dir interaktives Staging (bis zu einzelnen Hunks und Zeilen), Commits, Branching, Rebasing, Stashing und Log-Durchsuchen in einer responsiven TUI, die auch bei großen Repositories schnell bleibt — mit einem Bruchteil der Ressourcen von Electron-basierten Git GUIs. Es ist eine hervorragende Mitte zwischen rohem git und einem vollständigen grafischen Client.
Installation
| Plattform | Befehl |
|---|
| Cargo (alle Plattformen) | cargo install gitui |
| macOS (Homebrew) | brew install gitui |
| Arch Linux | sudo pacman -S gitui |
| Fedora | sudo dnf install gitui |
| Windows (Scoop) | scoop install gitui |
| Nix | nix-env -iA nixpkgs.gitui |
Starten
| Befehl | Beschreibung |
|---|
gitui | Im aktuellen Repository öffnen |
gitui -d /path/to/repo | Ein bestimmtes Repo öffnen |
gitui -w /path/to/worktree | Arbeitsverzeichnis setzen |
gitui --help | Vollständige Optionsliste |
gitui --version | Version |
Globale Navigation
| Taste | Aktion |
|---|
1–5 | Tabs wechseln (Status, Log, Files, Stashing, …) |
Tab | Panels zyklisch durchlaufen |
← / → oder h / l | Zwischen Fenstern bewegen |
↑ / ↓ oder j / k | Auswahl bewegen |
? | Kontexthilfe (zeigt alle Tasten für die aktuelle Ansicht) |
Esc | Zurück / abbrechen |
q | Beenden |
Status & Staging
| Taste | Aktion |
|---|
Space | Datei oder Hunk staging / unstaging |
Enter | Diff für die Auswahl fokussieren |
s | Staging |
S | Alle staging |
u | Unstaging |
U | Alle unstaging |
D | Änderungen einer Datei zurücksetzen (verwerfen) |
c | Commit-Popup öffnen |
Committen
| Taste | Aktion |
|---|
c | Staged Änderungen committen |
Ctrl+d (in Commit-Nachricht) | Externen Editor für Nachricht öffnen |
a | Letzten Commit ändern |
| Sign-off / Verify | Konfigurierbar via Git-Einstellungen |
Branches
| Taste | Aktion |
|---|
b | Branches-Ansicht öffnen |
c (in Branches) | Branch erstellen |
Enter | Ausgewählten Branch auschecken |
r | Branch umbenennen |
D | Branch löschen |
m | Ausgewählten Branch in aktuellen mergen |
R | Aktuellen auf ausgewählten rebasen |
Log, Stash & Remotes
| Taste | Aktion |
|---|
2 | Log-Tab öffnen |
Enter (auf Commit) | Commit-Details/Diff inspizieren |
4 | Stashing Tab |
s | Änderungen stashen |
a (in Stash) | Stash anwenden |
D (in Stash) | Stash löschen |
f | Fetch |
p | Push |
P | Pull |
Konfiguration
| Pfad | Zweck |
|---|
~/.config/gitui/key_bindings.ron | Benutzerdefinierte Tastenbelegungen |
~/.config/gitui/theme.ron | Farbschema |
gitui -t mytheme.ron | Mit spezifischem Thema starten |
Häufige Workflows
# Nur die Hunks überprüfen und staging, die du möchtest, dann committen
gitui # Space auf Hunks drücken zu staging, c zum Committen
# Interaktiver Branch + Rebase ohne Git Flags zu merken
gitui # b für Branches öffnen, R zum Rebasen auf ausgewählten
# Schnell Stash, Kontext wechseln, wiederherstellen
gitui # 4 (Stash Tab), s zum Stashen; später a zum Anwenden
GitUI vs Andere Git-Interfaces
| Aspekt | GitUI | lazygit | git CLI |
|---|
| Sprache | Rust | Go | C |
| Geschwindigkeit bei großen Repos | Sehr schnell | Schnell | Schnell |
| Hunk/Zeilen Staging | Ja | Ja | git add -p |
| Lernkurve | Niedrig | Niedrig | Steile Flags |
| Ressourcennutzung | Minimal | Minimal | Minimal |
Ressourcen