lazygit Cheatsheet

0.44

Navega git como un profesional con los atajos de teclado de lazygit

Español: 2026-03-29

Si alguna vez te encontraste escribiendo git log --oneline --graph --decorate --all por decimoquinta vez hoy, lazygit está a punto de convertirse en tu nuevo mejor amigo. Es una interfaz de terminal para git que convierte el caos de comandos git en una interfaz controlada por teclado donde hacer staging, commits, rebase y resolver conflictos sucede en unas pocas pulsaciones de teclas. Piénsalo como el punto medio entre la CLI pura de git y un GUI completo — obtienes retroalimentación visual sin salir del terminal.

El modelo mental es simple: lazygit está organizado en paneles (Status, Files, Branches, Commits, Stash), y cambias entre ellos con teclas numéricas o Tab. Dentro de cada panel, navegas con j/k (o las teclas de flecha si eso te va más), y presionas teclas para realizar acciones sobre el elemento seleccionado. La mayoría de las acciones son de una sola tecla — sin dos puntos, sin prefijos, sin comandos estilo :wq. El contexto importa: presionar d en el panel de Files descarta cambios, pero en el panel de Stash elimina una entrada.

La mejor forma de aprender lazygit es simplemente abrirlo en un repo y empezar a presionar teclas. La tecla ? es tu red de seguridad — te muestra cada atajo disponible para el panel actual. Este cheatsheet cubre los atajos que usarás a diario y algunos movimientos de usuario avanzado que te harán preguntarte cómo vivías sin ellos. Todo aquí está basado en los atajos predeterminados; si has personalizado tu config, los resultados pueden variar.

Navegación Básica
1-5
Saltar al panel de Status / Files / Branches / Commits / Stash
Tab
Avanzar al siguiente panel
Shift+Tab
Retroceder al panel anterior
jk
Mover abajo / arriba en la lista actual
Ctrl+d
Desplazar vista principal hacia abajo (media página)
Ctrl+u
Desplazar vista principal hacia arriba (media página)
?
Mostrar atajos del panel actual
Esc
Cancelar / volver atrás / cerrar popup
q
Salir de lazygit
[]
Cambiar entre pestañas del panel lateral (ej. Local / Remote / Tags)
{}
Desplazar vista de diff izquierda / derecha
x
Abrir menú con todas las acciones disponibles
Staging
Space
Agregar / quitar del staging el archivo seleccionado
a
Agregar o quitar del staging todos los archivos
Enter
Abrir archivo para hacer staging de hunks / líneas individuales
Space
Agregar / quitar del staging el hunk seleccionado (en vista de staging)
a
Agregar / quitar del staging el archivo completo (en vista de staging)
Tab
Cambiar entre cambios en staging y sin staging (en vista de staging)
e
Abrir archivo en el editor
d
Descartar cambios en el archivo seleccionado (¡cuidado!)
D
Abrir menú de opciones de descarte (descartar todo, limpiar, etc.)
i
Agregar archivo a .gitignore
Commits
c
Hacer commit de los cambios en staging (abre entrada de mensaje)
C
Hacer commit con editor de git (para mensajes multilínea)
A
Enmendar el último commit con los cambios en staging
r
Reformular el mensaje del commit seleccionado
s
Hacer squash del commit seleccionado con el de arriba
f
Fixup — squash del commit con su padre, descartar su mensaje
d
Eliminar (drop) el commit seleccionado
t
Etiquetar el commit seleccionado
g
Reset al commit seleccionado (abre menú soft/mixed/hard)
y
Copiar SHA del commit al portapapeles
o
Abrir commit en el navegador
Enter
Ver archivos y diff del commit
Branching
Space
Hacer checkout de la rama seleccionada
n
Crear nueva rama desde HEAD actual
d
Eliminar la rama seleccionada
r
Hacer rebase de la rama actual sobre la rama seleccionada
M
Hacer merge de la rama seleccionada en la rama actual
R
Renombrar la rama seleccionada
c
Hacer checkout de rama por nombre (búsqueda)
f
Forzar checkout de la rama seleccionada
Enter
Ver commits de la rama
u
Configurar / quitar upstream de la rama seleccionada
w
Abrir opciones de worktree
Stash
s
Guardar todos los cambios en stash (desde el panel de Files)
S
Abrir opciones de stash (solo staged, mantener index, etc.)
Space
Aplicar la entrada de stash seleccionada
g
Hacer pop de la entrada de stash seleccionada (aplicar + eliminar)
d
Eliminar la entrada de stash seleccionada
Enter
Ver contenido de la entrada de stash
r
Renombrar entrada de stash
Operaciones Remotas
f
Hacer fetch de todos los remotos
p
Hacer pull del remoto
P
Hacer push al remoto
shift+P
Abrir opciones de push (force push, establecer upstream, etc.)
u
Establecer rama upstream
Rebase Interactivo
e
Iniciar rebase interactivo desde el commit seleccionado (modo edición)
Ctrl+j
Mover commit seleccionado hacia abajo durante el rebase
Ctrl+k
Mover commit seleccionado hacia arriba durante el rebase
s
Marcar commit para squash
f
Marcar commit para fixup
d
Marcar commit para drop
e
Marcar commit para edit (pausar rebase aquí)
p
Marcar commit para pick (mantener tal cual)
m
Continuar rebase / pasar al siguiente paso
Esc
Abortar rebase interactivo
z
Deshacer la última acción (vía reflog)
Comandos Personalizados y Extras
:
Abrir prompt de comando personalizado (ejecutar cualquier comando de shell)
+
Abrir lista de repos recientes
@
Abrir panel de log de comandos
/
Filtrar / buscar en el panel actual
Ctrl+r
Cambiar a un repositorio reciente
W
Abrir menú de diff (comparar ramas/commits)
Ctrl+o
Copiar nombre / ruta de archivo al portapapeles
.
Mostrar/ocultar log de comandos en la parte inferior

Consejos

Presiona Enter en un archivo en el panel de Files para entrar en el modo de staging línea por línea. Esta es la función estrella de lazygit — puedes hacer staging de líneas individuales, no solo hunks completos. Usa v para alternar la selección de rango y hacer staging de múltiples líneas a la vez.

Deshaz casi cualquier cosa con z. lazygit usa el reflog internamente, así que incluso commits eliminados y rebases fallidos pueden revertirse. No es infinito, pero cubre los momentos de "oh no."

Puedes definir comandos personalizados en ~/.config/lazygit/config.yml. Por ejemplo, vincular una tecla a git log --all --oneline --graph o un script de deploy específico del proyecto. Los comandos personalizados pueden solicitar entrada, confirmar antes de ejecutar e incluso mostrar la salida en un panel.

Usa la tecla : para ejecutar cualquier comando de shell arbitrario sin salir de lazygit. Esto es genial para operaciones puntuales como git bisect start o ejecutar tu suite de pruebas contra un commit específico.

Al resolver conflictos de merge, lazygit resalta las secciones en conflicto y te permite elegir el cambio entrante o actual con una sola pulsación de tecla. Navega conflictos con [ y ], luego elige un lado con Space. Mucho menos propenso a errores que editar marcadores de conflicto a mano.

Puedes seleccionar archivos en bloque presionando v para entrar en modo de selección de rango en el panel de Files. Muévete con j/k para extender la selección, luego presiona Space para hacer staging de todo a la vez.

Si trabajas con múltiples repos, presiona Ctrl+r para abrir un selector de repositorios recientes. lazygit recuerda dónde has estado, así que cambiar de contexto es instantáneo.

Related Tools