GitUI - Interfaz de Usuario de Terminal para Git
gitui es una interfaz de usuario de terminal rápida y accionada por teclado para Git, escrita en Rust. Te proporciona staging interactivo (hasta hunks y líneas individuales), commits, ramificación, reorganización, guardado y exploración de logs en una IU de terminal responsiva que se mantiene ágil incluso en repositorios grandes — usando una fracción de los recursos de GUIs basadas en Electron. Es un punto medio excelente entre git crudo y un cliente gráfico completo.
Instalación
| Plataforma | Comando |
|---|
| Cargo (todas las 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 |
Lanzamiento
| Comando | Descripción |
|---|
gitui | Abre en el repositorio actual |
gitui -d /path/to/repo | Abre un repo específico |
gitui -w /path/to/worktree | Establece el directorio de trabajo |
gitui --help | Lista completa de opciones |
gitui --version | Versión |
Navegación Global
| Tecla | Acción |
|---|
1–5 | Cambia pestañas (Estado, Log, Archivos, Guardado, …) |
Tab | Cicla paneles |
← / → o h / l | Mueve entre paneles |
↑ / ↓ o j / k | Mueve selección |
? | Ayuda de contexto (muestra todas las teclas para la vista actual) |
Esc | Atrás / cancelar |
q | Salir |
Estado y Staging
| Tecla | Acción |
|---|
Space | Estadifica / desestadifica el archivo o hunk seleccionado |
Enter | Enfoca el diff para la selección |
s | Estadifica |
S | Estadifica todo |
u | Desestadifica |
U | Desestadifica todo |
D | Reinicia (descarta) cambios a un archivo |
c | Abre la ventana emergente de commit |
Confirmación
| Tecla | Acción |
|---|
c | Confirma cambios estadificados |
Ctrl+d (en mensaje de commit) | Abre editor externo para el mensaje |
a | Enmienda el último commit |
| Firmar/verificar | Configurable vía configuración de git |
Ramas
| Tecla | Acción |
|---|
b | Abre la vista de ramas |
c (en ramas) | Crea una rama |
Enter | Verifica la rama seleccionada |
r | Renombra rama |
D | Elimina rama |
m | Fusiona rama seleccionada en actual |
R | Reorganiza actual en seleccionada |
Log, Guardado y Remotos
| Tecla | Acción |
|---|
2 | Abre la pestaña Log |
Enter (en commit) | Inspecciona detalles/diff del commit |
4 | Pestaña de guardado |
s | Guarda cambios |
a (en guardado) | Aplica un guardado |
D (en guardado) | Suelta un guardado |
f | Extrae |
p | Empuja |
P | Tira |
Configuración
| Ruta | Propósito |
|---|
~/.config/gitui/key_bindings.ron | Atajos de teclado personalizados |
~/.config/gitui/theme.ron | Tema de color |
gitui -t mytheme.ron | Lanza con un tema específico |
Flujos de Trabajo Comunes
# Revisa y estadifica solo los hunks que quieres, luego confirma
gitui # presiona Space en hunks para estadificar, c para confirmar
# Rama interactiva + reorganización sin memorizar banderas de git
gitui # b para abrir ramas, R para reorganizar en seleccionada
# Guardado rápido, cambio de contexto, restauración
gitui # 4 (pestaña de guardado), s para guardar; más tarde a para aplicar
GitUI vs Otras Interfaces de Git
| Aspecto | GitUI | lazygit | git CLI |
|---|
| Lenguaje | Rust | Go | C |
| Velocidad en repos grandes | Muy rápida | Rápida | Rápida |
| Staging de hunk/línea | Sí | Sí | git add -p |
| Curva de aprendizaje | Baja | Baja | Banderas empinadas |
| Uso de recursos | Mínimo | Mínimo | Mínimo |
Recursos