¿Qué es GitUI?
GitUI es una interfaz de terminal para git, escrita en Rust. Te da las partes de una GUI de git que de verdad valen la pena —preparar hunks y líneas sueltas, leer diffs, recorrer y buscar en el log, hacer stash, blame, ramas y push— sin salir de la terminal y sin los bloqueos que sufren las GUI populares en repositorios grandes.
⚡ Funciones clave de GitUI
⚡ Rápido en repositorios enormes
El propio benchmark de upstream recorre todo el historial del kernel de Linux en unos 24 segundos usando unos 170 MB, donde las GUI más pesadas se congelan o se caen.
✂️ Preparar hunks y líneas
Preparar, quitar, revertir y resetear archivos completos, hunks sueltos o líneas concretas: el motivo por el que la mayoría abre una GUI de git.
📜 Log y diffs
Recorrer y buscar en el log de commits, inspeccionar el diff de cualquiera y hacer blame línea a línea, todo en la misma interfaz de teclado.
📦 Stash
Guardar, aplicar, sacar, descartar e inspeccionar stashes desde una pestaña propia, en lugar de recordar qué subcomando de git stash hace qué.
🌿 Ramas y remotos
Crear, renombrar, borrar y cambiar de rama, trabajar con remotos y hacer push o fetch sin volver al shell.
⌨️ Ayuda contextual
? muestra exactamente las teclas que funcionan en la vista actual, y key_bindings.ron permite reasignarlo todo, al estilo vim si es tu costumbre.
apt upgrade te mantiene en la última versión.
📦 Instalación desde deb.griffo.io
Paso 1: Añadir el repositorio
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🆓 Existe un espejo gratis para siempre. deb-free.griffo.io sirve paquetes gratis para siempre: sin cuenta, sin suscripción, como máximo 2 meses por detrás del upstream, correcciones de seguridad inmediatas. Ahora mismo incluye cliamp, Ghostty, lazydocker, Oh My Posh y Zed; GitUI no está entre ellas, así que hoy el repositorio de arriba es la única forma de instalarlo — pídelo y puede añadirse.
🧩 Sobre la opción extrepo. extrepo es la herramienta propia de Debian para repositorios externos: escribe el archivo de sources e instala la clave de firma por ti, comprobándola antes contra metadatos firmados. Este repositorio está registrado en ella como griffo, y el espejo gratuito para siempre como griffo-free, así que en Debian (bookworm, trixie, forky y sid) los comandos de arriba son toda la configuración.
extrepo solo configura el archivo de sources y la clave: las credenciales de una suscripción siguen yendo en /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu no está cubierto, porque extrepo publica metadatos solo para las suites de Debian: allí usa los comandos con sudo o como root.
Paso 2: Instalar GitUI
# Instalar la última versión de GitUI
sudo apt install gitui
# Verificar la instalación
gitui --version# Instalar la última versión de GitUI
apt install gitui
# Verificar la instalación
gitui --versionPaso 3: Primera ejecución y configuración
# Ábrelo dentro de cualquier repositorio git
cd /path/to/your/repo
gitui
# Pulsa ? en cualquier momento para ver las teclas de la vista actual
# El tema y los atajos viven en el directorio de configuración
ls ~/.config/gitui/
# Por ejemplo, un mapa de teclas estilo vim
$EDITOR ~/.config/gitui/key_bindings.ron🎯 Ejemplos básicos de uso
Abrir repositorios:
# El repositorio del directorio actual
gitui
# Un repositorio concreto, sin entrar en él
gitui -d ~/src/linux
# Directorio de trabajo y directorio git separados
gitui -d ~/src/project/.git -w ~/src/project
# Arrancar con un archivo ya seleccionado en la pestaña de archivos
gitui -f src/main.rsAspecto y manejo:
# Un archivo de tema de ~/.config/gitui/
gitui -t mytheme.ron
# Un archivo propio de atajos de teclado
gitui -k ~/.config/gitui/key_bindings.ron
# Símbolos de teclas personalizados, para teclados que los dibujan distinto
gitui -s ~/.config/gitui/key_symbols.ron
# Usar el vigilante del sistema de archivos en vez de refrescos periódicos
gitui --watcherCuando hay que depurar algo:
# Reunir datos del entorno para un informe de error
gitui --bugreport
# Escribir un registro mientras reproduces un problema
gitui --logging --logfile /tmp/gitui.log
# La CLI de git sigue ahí para lo que GitUI no cubre
git rebase -i origin/main
# Los push por HTTPS necesitan un credential helper configurado explícitamente
git config --global credential.helper store🔧 Integraciones con otras herramientas
GitUI se apoya en tu configuración de git existente:
- Tus repositorios: un repositorio git normal, leído y escrito por un backend git en Rust: nada en él es específico de GitUI
- Hooks:
pre-commit,commit-msg,post-commityprepare-commit-msgse ejecutan igual que desde la línea de comandos - Firma GPG: los commits firmados funcionan, con las salvedades que upstream documenta en su gestor de incidencias
- Temas y atajos:
theme.ron,key_bindings.ronykey_symbols.ronen~/.config/gitui/ - Por SSH: lo bastante rápido en una máquina remota como para que arreglar un commit en el servidor deje de ser un suplicio; la compilación amd64 no necesita bibliotecas
🚀 ¿Por qué elegir deb.griffo.io?
- Debian oficial: no empaqueta GitUI:
apt install gituifalla en un sistema recién instalado - cargo install gitui: actualizado, pero es una compilación de Rust larga en cada máquina, fuera de apt y fuera de tus actualizaciones
- Tarball upstream: el binario oficial, que descargas a mano en cada versión
- deb.griffo.io: última versión con actualizaciones automáticas
- ✅ Todavía antes del 1.0: GitUI gana funciones reales en versiones normales, así que usar la actual es la diferencia entre tener submódulos, búsqueda en el log y blame o no tenerlos
- ✅ La única fuente apt: GitUI no está ni en los archivos de Debian ni en los de Ubuntu; este repositorio empaqueta la compilación oficial upstream
- ✅ Actualizaciones automáticas: los paquetes se actualizan pocas horas después de cada versión upstream
- ✅ Empaquetado honesto: el binario upstream en
/usr/bin/gitui: upstream no publica página de manual ni completaciones, así que el paquete no se las inventa - ✅ Tres arquitecturas: amd64 (compilación estática con musl), arm64 y armhf, con las dependencias declaradas donde upstream enlaza contra glibc
- ✅ Multidistribución: funciona en Bookworm, Trixie, Forky y Sid
- ✅ Mantenimiento sencillo: actualizaciones con los comandos apt de siempre
📦 Repositorio de compilación del paquete
Los paquetes de Debian se compilan y mantienen automáticamente en este repositorio de GitHub:
- 🎛️ gitui-debian - Compilaciones de las últimas versiones
🔗 Paquetes relacionados
También disponibles en deb.griffo.io:
- lazygit - La otra interfaz git de terminal, si prefieres su disposición
- Jujutsu - VCS compatible con Git y rebases de primera clase
- Forgejo - Forja autoalojada a la que enviar esas ramas
- Neovim - Editor para ir adonde te lleve el diff