GitUI - Cheatsheet Terminal UI per Git
gitui è un”interfaccia utente terminale veloce e keyboard-driven per Git, scritta in Rust. Ti dà staging interattivo (fino ai singoli hunk e linee), commit, branching, rebasing, stashing e log browsing in una TUI responsiva che rimane snappy anche su repository grandi — usando una frazione delle risorse dei Git GUI basati su Electron. È un eccellente compromesso tra il raw git e un client grafico completo.
Installazione
| Piattaforma | Comando |
|---|
| Cargo (tutte le piattaforme) | 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 |
Avvio
| Comando | Descrizione |
|---|
gitui | Apri nel repository corrente |
gitui -d /path/to/repo | Apri un repo specifico |
gitui -w /path/to/worktree | Imposta la directory di lavoro |
gitui --help | Elenco completo delle opzioni |
gitui --version | Versione |
Navigazione Globale
| Key | Azione |
|---|
1–5 | Cambia scheda (Status, Log, Files, Stashing, …) |
Tab | Cicla attraverso i riquadri |
← / → o h / l | Sposta tra i riquadri |
↑ / ↓ o j / k | Sposta selezione |
? | Context help (mostra tutti i key per la vista corrente) |
Esc | Indietro / cancella |
q | Esci |
Status & Staging
| Key | Azione |
|---|
Space | Stage / unstage il file o hunk selezionato |
Enter | Focalizza il diff per la selezione |
s | Stage |
S | Stage tutto |
u | Unstage |
U | Unstage tutto |
D | Reset (discard) cambiamenti a un file |
c | Apri il popup commit |
Commit
| Key | Azione |
|---|
c | Commit cambiamenti in staging |
Ctrl+d (nel messaggio di commit) | Apri editor esterno per il messaggio |
a | Amend l”ultimo commit |
| Sign-off / verify | Configurabile via git settings |
Branch
| Key | Azione |
|---|
b | Apri la vista branch |
c (in branch) | Crea un branch |
Enter | Checkout il branch selezionato |
r | Rinomina branch |
D | Cancella branch |
m | Merge il branch selezionato nel corrente |
R | Rebase il corrente su quello selezionato |
Log, Stash & Remotes
| Key | Azione |
|---|
2 | Apri la scheda Log |
Enter (su commit) | Ispeziona dettagli commit/diff |
4 | Scheda Stashing |
s | Stash cambiamenti |
a (in stash) | Applica uno stash |
D (in stash) | Elimina uno stash |
f | Fetch |
p | Push |
P | Pull |
Configurazione
| Percorso | Scopo |
|---|
~/.config/gitui/key_bindings.ron | Keybinding personalizzati |
~/.config/gitui/theme.ron | Tema colore |
gitui -t mytheme.ron | Avvia con un tema specifico |
Flussi di Lavoro Comuni
# Rivedi e stage solo gli hunk che vuoi, poi commit
gitui # premi Space su hunk per stage, c per commit
# Interactive branch + rebase senza memorizzare i flag di git
gitui # b per aprire branch, R per rebase su quello selezionato
# Quick stash, cambia contesto, ripristina
gitui # 4 (scheda stash), s per stash; più tardi a per applicare
GitUI vs Altri Git Interface
| Aspetto | GitUI | lazygit | git CLI |
|---|
| Linguaggio | Rust | Go | C |
| Velocità su big repo | Molto veloce | Veloce | Veloce |
| Staging hunk/linea | Sì | Sì | git add -p |
| Curva di apprendimento | Bassa | Bassa | Steep flags |
| Utilizzo risorse | Minimo | Minimo | Minimo |
Risorse