En el caso de un rebase anterior que no abortó correctamente, ahora (Git 2.12, Q1 2017) tiene git rebase --quit
Ver commit 9512177 (12 de noviembre de 2016) por Nguyễn Thái Ngọc Duy ( pclouds) .
(Fusionada por Junio C Hamano - gitster- en commit 06cd5a1 , 19 dic 2016)
rebase: agregar --quita la limpieza rebase, dejar todo lo demás intacto
Hay ocasiones en las que decide abortar un rebase en curso y pasar a hacer otra cosa, pero se olvida de hacer " git rebase --abort" primero . O el rebase ha estado en progreso durante tanto tiempo que lo olvidó. En el momento en que te das cuenta de que (por ejemplo, al comenzar otro rebase) ya es demasiado tarde para volver sobre tus pasos. La solución es normalmente
rm -r .git/<some rebase dir>
y continúa con tu vida.
Pero podría haber dos directorios diferentes <some rebase dir>(y obviamente requiere algún conocimiento de cómo funciona el rebase), y la parte " .git" podría ser mucho más larga si no está en el directorio superior o en un árbol de trabajo vinculado. Y " rm -r" es muy peligroso .git, un error podría destruir la base de datos de objetos u otros datos importantes.
Proporcione " git rebase --quit" para este caso de uso, imitando un precedente que es " git cherry-pick --quit".
Antes de Git 2.27 (Q2 2020), la entrada oculta creada por " git merge --autostash" para mantener el estado sucio inicial se descartó por error en " git rebase --quit", que se ha corregido.
Ver commit 9b2df3e (28 de abril de 2020) por Denton Liu ( Denton-L) .
(Fusionada por Junio C Hamano - gitster- en commit 3afdeef , 29 abr 2020)
rebase: guardar la entrada de autostash en stash reflogon--quit
Firmado por: Denton Liu
En a03b55530a (" merge: teach --autostash option", 2020-04-07, Git v2.27.0 - merge enumerado en el lote # 5 ), --autostashse introdujo la opción git merge.
(Consulte " ¿Puede" git pull"esconder y reventar automáticamente los cambios pendientes? ")
En particular, cuando git merge --quitse ejecuta con una entrada de autostash presente, se guarda en el registro de escondite.
Esto contrasta con el comportamiento actual de git rebase --quitdonde la entrada de autostash simplemente se elimina de la existencia.
Adopte el comportamiento de git merge --quitin git rebase --quity guarde la entrada de autostash en el registro de alijo en lugar de simplemente eliminarlo.