ConceptoBloque 5 · Rebase
Qué comando usar según la situación
Qué comando usar según la situación
| Situación | Comando | Ojo |
|---|---|---|
| Poner tu rama al día con main | git rebase main |
Te paras en tu rama |
| Conflicto en un rebase | git add y git rebase --continue |
Current es main; Incoming es tu commit |
| Cancelar un rebase | git rebase --abort |
Deja todo como estaba |
| Traer cambios sin merge commit | git pull --rebase |
Pide la carpeta limpia |
| Limpiar commits antes del PR | git rebase -i HEAD~n |
La lista va del más viejo al más nuevo |
| Subir una rama reescrita | git push --force-with-lease |
Nunca en main ni en ramas compartidas |
| Recuperar después de un mal rebase | git reflog |
Línea de abajo de rebase (start) |
| Copiar un commit suelto | git cherry-pick hash |
Crea una copia con otro hash |
Errores frecuentes
| Qué pasa | Qué hacer |
|---|---|
La terminal espera con Waiting for your editor to close the file... |
Cierra la pestaña de VS Code (git-rebase-todo o COMMIT_EDITMSG) |
cannot 'fixup' without a previous commit |
La primera línea de la lista debe ser pick o reword |
El prompt sigue diciendo REBASE |
Hay un rebase a medias: termina con git add + git rebase --continue, o cancela con git rebase --abort |
| Aceptaste Current y perdiste tu cambio | git reflog, busca la línea de abajo de rebase (start) y regresa con git reset --hard HEAD@{n} |