GitUI - UI de Terminal para Git
gitui é uma UI de terminal rápida e orientada por teclado para Git, escrita em Rust. Oferece staging interativo (até hunks e linhas individuais), commits, branching, rebasing, stashing e log browsing em uma TUI responsiva que permanece rápida mesmo em repositórios grandes — usando uma fração dos recursos de GUIs Git baseadas em Electron. É um excelente meio-termo entre git bruto e um cliente gráfico completo.
Instalação
| Plataforma | Comando |
|---|
| Cargo (todas as plataformas) | 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 |
Iniciando
| Comando | Descrição |
|---|
gitui | Abra no repositório atual |
gitui -d /path/to/repo | Abra um repositório específico |
gitui -w /path/to/worktree | Defina o diretório de trabalho |
gitui --help | Lista completa de opções |
gitui --version | Versão |
Navegação Global
| Tecla | Ação |
|---|
1–5 | Alterne abas (Status, Log, Files, Stashing, …) |
Tab | Cicle painéis |
← / → ou h / l | Mova entre painéis |
↑ / ↓ ou j / k | Mova seleção |
? | Ajuda de contexto (mostra todas as teclas para a visualização atual) |
Esc | Voltar / cancelar |
q | Sair |
Status e Staging
| Tecla | Ação |
|---|
Space | Faça stage / unstage do arquivo selecionado ou hunk |
Enter | Foco no diff para a seleção |
s | Faça stage |
S | Faça stage de tudo |
u | Unstage |
U | Unstage tudo |
D | Reset (descarte) alterações em um arquivo |
c | Abra o popup de commit |
Commitando
| Tecla | Ação |
|---|
c | Faça commit de alterações em stage |
Ctrl+d (na msg de commit) | Abra editor externo para mensagem |
a | Amende o último commit |
| Sign-off / verify | Configurável via git settings |
Branches
| Tecla | Ação |
|---|
b | Abra a visualização de branches |
c (em branches) | Crie um branch |
Enter | Checkout o branch selecionado |
r | Renomeie o branch |
D | Delete o branch |
m | Mescle o branch selecionado no atual |
R | Rebase atual no selecionado |
Log, Stash e Remotes
| Tecla | Ação |
|---|
2 | Abra a aba Log |
Enter (no commit) | Inspecione detalhes/diff do commit |
4 | Aba Stashing |
s | Faça stash das alterações |
a (em stash) | Aplique um stash |
D (em stash) | Descarte um stash |
f | Fetch |
p | Push |
P | Pull |
Configuração
| Caminho | Propósito |
|---|
~/.config/gitui/key_bindings.ron | Atalhos personalizados |
~/.config/gitui/theme.ron | Tema de cor |
gitui -t mytheme.ron | Inicie com um tema específico |
Fluxos de Trabalho Comuns
# Revise e faça stage apenas dos hunks que quer, depois commit
gitui # pressione Space em hunks para fazer stage, c para commit
# Branch interativo + rebase sem memorizar flags git
gitui # b para abrir branches, R para rebase no selecionado
# Stash rápido, mude contexto, restaure
gitui # 4 (aba stash), s para fazer stash; depois a para aplicar
GitUI vs Outras Interfaces Git
| Aspecto | GitUI | lazygit | git CLI |
|---|
| Linguagem | Rust | Go | C |
| Velocidade em repos grandes | Muito rápido | Rápido | Rápido |
| Staging de hunk/linha | Sim | Sim | git add -p |
| Curva de aprendizado | Baixa | Baixa | Flags íngremes |
| Uso de recurso | Mínimo | Mínimo | Mínimo |
Recursos