En este módulo aprenderás:
- Staging interactivo por líneas (hunks), resolución visual de conflictos, rebase interactivo y git bisect en la terminal.
- Comandos y configuraciones clave para 02. Flujo Diario y Productividad con Lazygit
- Ejercicios prácticos listos para probar en tu terminal local
Multiplica por 10 tu velocidad en Git con Lazygit
Causita, estar escribiendo git add -p, git commit -m "...", git rebase -i HEAD~5 y resolviendo conflictos con texto plano en nano o vim te quita horas valiosas cada semana. Lazygit es una interfaz terminal (TUI) ultrarrápida escrita en Go que convierte cualquier operación compleja de Git en un atajo de teclado de un solo toque.
Flujo de Trabajo Diario: De Staging a Rebase y Bisect con Lazygit
lazygit → Panel 1 (Files) → Presiona [v] para modo línea o [Espacio] por bloqueSelecciona solo los cambios que quieres commitear línea por línea sin dejar código sucio en el commit.
Panel 3 (Commits) → Presiona [c] para commit o [A] para amend inmediatoEscribe mensajes convencionales estructurados (feat:, fix:, refactor:) sin salir de tu terminal.
Panel 2 (Branches) → Presiona [i] en commit base → [s] squash, [f] fixup, [d] dropLimpia el historial de tu rama antes de enviar el Pull Request en 5 segundos sin escribir comandos manuales de git rebase -i.
Presiona [b] para marcar Git Bisect (Good/Bad) o resuelve conflictos con diff side-by-sideEncuentra el commit exacto que introdujo un bug mediante búsqueda binaria automática.
Instalación de Lazygit con mise
No necesitas gestores de paquetes lentos ni compilar nada:
# Instalar globalmente con mise
mise use -g lazygit@latest
# Abrir en cualquier repositorio
lazygit
Atajos de teclado que debes memorizar hoy mismo
| Panel | Tecla | Acción en Lazygit | Equivalente en Git CLI |
|---|---|---|---|
| Files (1) | Espacio |
Stagear / Unstagear archivo | git add <file> |
| Files (1) | v |
Modo selección de líneas en diff | git add -p |
| Files (1) | d |
Descartar cambios del archivo | git restore <file> |
| Commits (3) | c |
Crear nuevo commit | git commit |
| Commits (3) | A |
Amendear commit previo | git commit --amend |
| Commits (3) | s |
Squash con el commit de abajo | git rebase -i (squash) |
| Commits (3) | i |
Iniciar Rebase Interactivo | git rebase -i <hash> |
| Branches (2) | Espacio |
Cambiar de rama (Checkout) | git checkout <branch> |
| Branches (2) | b |
Marcar Good / Bad en Git Bisect | git bisect good/bad |
Flujo Pro: Limpiar commits antes de tu Pull Request
- Abre
lazygiten tu terminal. - Navega al panel de Commits (presiona
3). - Párate sobre el commit base desde donde quieres limpiar y presiona
ipara iniciar el rebase interactivo. - Presiona
ssobre los commits tipofix typopara unirlos al commit principal (squash). - Presiona
cpara guardar el historial limpio. - Presiona
P(Shift + P) para hacergit push --force-with-lease.
Usa siempre force-with-lease
Cuando hagas rebase en tu rama de feature, nunca uses git push --force a ciegas. force-with-lease protege los cambios remotos si alguien más subió código a la misma rama.
Ejercicio Práctico Ninja 🥷
- Instala Lazygit ejecutando
mise use -g lazygit@latest. - Abre
lazygiten este proyecto. - Presiona
1(Files), navega a un archivo modificado, entra al diff conEnter, selecciona 3 líneas convy presionaEspaciopara stagear únicamente esas líneas. - Presiona
cy haz tu primer commit con mensaje convencional en 3 segundos.
¿Terminaste esta lección?
Marca tu progreso para sincronizar el avance en tu navegador.