Volver al glosario
git

Rebase

Comando de Git para reorganizar commits y crear un historial lineal. Poderoso pero delicado: usalo en ramas locales antes del PR, nunca en algo que ya compartiste con otros.

Definición

Rebase es un comando de Git que reorganiza el historial de commits moviendo o combinando una secuencia de commits sobre la punta de otra rama. A diferencia de merge, el rebase reescribe el historial creando una secuencia lineal de commits que facilita la lectura del log y evita los commits de fusión. Es una herramienta poderosa que debe usarse exclusivamente en ramas locales que no hayan sido compartidas con otros desarrolladores para evitar conflictos de historial.

Ejemplos

  • Un desarrollador hace rebase de su rama feature sobre main para integrar los últimos cambios antes de abrir un Pull Request, evitando conflictos grandes al fusionar
  • Con rebase interactivo se combinan 5 commits pequeños de prueba en 1 commit limpio con mensaje descriptivo antes de compartir el trabajo con el equipo

Ejemplo de código

# Rebase básico: actualizar feature-rama con los cambios de main
git checkout feature-rama
git rebase main
# Los commits de feature-rama ahora están sobre la punta de main

# Rebase interactivo: limpiar los últimos 3 commits
git rebase -i HEAD~3
# Se abre un editor con las opciones:
# pick  abc123 feat: estructura inicial
# squash def456 feat: corrección menor
# reword 789ghi feat: versión completa
# Guardar y cerrar: Git aplica las operaciones en orden