[SOLUCIONADO] Cancelar un Rebase en Git o Error 'No rebase in progress'
El estado interactive rebase in progress (o el error opuesto fatal: No rebase in progress) ocurre al ejecutar git rebase cuando Git encuentra conflictos de fusión en un commit intermedio y suspende la secuencia a la espera de intervención manual. Si la terminal se cierra o la carpeta oculta .git/rebase-merge se corrompe, el repositorio queda bloqueado.
El Diagnóstico Rápido
git rebase --continue o abortar con git rebase --abortEl estado interactive rebase in progress (o el error opuesto fatal: No rebase in progress) ocurre al ejecutar git rebase cuando Git encuentra conflictos de fusión en un commit intermedio y suspende la secuencia a la espera de intervención manual. Si la terminal se cierra o la carpeta oculta .git/rebase-merge se corrompe, el repositorio queda bloqueado.
Solución Rápida (1 Minuto):
- Para cancelar y volver al estado previo al rebase:
git rebase --abort- Si marca
fatal: No rebase in progresspero sigues atrapado, elimina la carpeta de bloqueo:rm -rf .git/rebase-apply .git/rebase-merge
🚀 Cómo resolver o abortar un Rebase de Git paso a paso
Paso 1: Abortar el proceso de Rebase limpiamente
Si deseas deshacer todas las modificaciones intermedias y restaurar tu rama exactamente como estaba antes de iniciar el rebase:
git rebase --abort
Paso 2: Forzar la salida cuando Git dice "No rebase in progress" pero el estado persiste
Si tu prompt de la terminal sigue mostrando (main|REBASE 1/5) pero el comando git rebase --abort arroja fatal: No rebase in progress:
Significa que existen residuos del estado temporal de rebase en la carpeta .git. Elimínalos manualmente:
# Eliminar directorios residuales de rebase
rm -rf .git/rebase-apply
rm -rf .git/rebase-merge
# Restaurar el puntero de HEAD si quedo desalineado
git checkout main
Paso 3: Continuar el Rebase tras resolver conflictos (Opción Avanzada)
Si prefieres completar el rebase en lugar de abortarlo:
- Resuelve los conflictos en los archivos marcados.
- Agrega los cambios al área de preparación:
BASH
git add . - Continúa el proceso sin crear un nuevo commit:
BASH
git rebase --continue
Consejo de Prevención
Prácticas de seguridad recomendadas:
- Utiliza
git stashantes de iniciar rebases complejos en ramas compartidas con otros desarrolladores.