Estaba cambiando el código en git, tuve algunos conflictos de fusión. Resolví los conflictos e hice:
git add
En este punto me olvidé de hacer:
git rebase --continue
Seguí codificando e hice:
git commit
por los cambios. Ahora estoy encendido "no branch"
y no puedo hacer:
git rebase --continue
¿Cómo puedo solucionar esto?
Respuestas:
EDITAR : Mire la respuesta a continuación también para ver si esa es una solución más fácil para usted. https://stackoverflow.com/a/12163247/493106
Tendría que probarlo, pero creo que esto es lo que haría:
git tag temp
git rebase --abort
git rebase --continue
git cherry-pick temp
El problema con esto es que su
temp
confirmación probablemente contenga tanto la resolución de la fusión como el nuevo código. Así que podría ser complicado, pero lo probaría y vería si funciona.fuente
Solo hazlo
git reset --soft HEAD^
. Mueve el puntero HEAD a su padre, pero mantiene el árbol de trabajo y agrega el cambio de combinación al índice. Para que pueda continuar reajustandogit rebase --continue
como antes.fuente
Tuve el mismo problema y, para empeorarlo, estaba reajustando tres confirmaciones y, después de resolver los conflictos en la segunda confirmación, "comprometí" en lugar de "reajustar - continuar".
Como resultado tuve este reflog de git
Cuando apliqué la solución de kirikaza, simplemente revirtí la tercera confirmación, y no la segunda, que era problemática.
Como puede ver, el rebase comienza con un checkout desde la rama remotes / origin / master y luego aplica mis tres confirmaciones que aparecen como las tres operaciones anteriores (antes del checkout) en el reflog.
Luego, si desea reiniciar desde una base limpia, antes de la rebase, simplemente puede restablecer el hash de forma completa justo antes de la comprobación de la operación de rebase. En mi caso (ver foto):
Entonces puedes empezar de nuevo
git rebase
.fuente
Tenía git rebased, solucioné conflictos, git agregó un archivo con conflictos y (por error) cometí.
Probé las soluciones
git reset --soft HEAD^
ygit reset --hard
dadas, pero ninguna funcionó para mí.Sin embargo, simplemente
git rebase --abort
funcionó: me llevó a antes del inicio de la rebase con un árbol de trabajo limpio.fuente