No caso de uma nova versão anterior que você não anulou corretamente, agora (Git 2.12, primeiro trimestre de 2017) git rebase --quit
Ver commit 9512177 (12 de novembro de 2016) por Nguyễn Thái Ngọc Duy ( pclouds) .
(Fundida por Junio C Hamano - gitster- in confirmação 06cd5a1 , 19 de dezembro de 2016)
rebase: adicione --quità limpeza rebase, deixe tudo intocado
Há ocasiões em que você decide abortar uma recuperação em andamento e passa a fazer outra coisa, mas se esquece de fazer " git rebase --abort" primeiro . Ou a rebase está em andamento há tanto tempo que você se esqueceu. No momento em que você percebe que (por exemplo, iniciando outra rebase), já é tarde demais para refazer seus passos. A solução é normalmente
rm -r .git/<some rebase dir>
e continue com sua vida.
Mas pode haver dois diretórios diferentes para <some rebase dir>(e obviamente requer algum conhecimento de como a rebase funciona) e o ".git parte " pode ser muito mais longa se você não estiver no diretório principal ou em uma árvore de trabalho vinculada. E " rm -r" é muito perigoso .git, um erro pode destruir o banco de dados de objetos ou outros dados importantes.
Forneça " git rebase --quit" para este caso de uso, imitando um precedente " git cherry-pick --quit".
Antes do Git 2.27 (Q2 2020), a entrada stash criada por "git merge --autostash " para manter o estado inicial sujo foi descartada por engano em " git rebase --quit", que foi corrigida.
Veja commit 9b2df3e (28 de abril de 2020) de Denton Liu ( Denton-L) .
(Mesclado por Junio C Hamano - gitster- in commit 3afdeef , 29 de abril de 2020)
rebase: salve a entrada de autostash stash reflogno--quit
Assinado por: Denton Liu
Em a03b55530a (" merge: teach --autostash option", 07/04 2020, Git v2.27.0 - mesclagem listada no lote # 5 ), a --autostashopção foi introduzida para git merge.
(Consulte " Pode" git pull"ocultar e saltar automaticamente as alterações pendentes? ")
Notavelmente, quando git merge --quité executada com uma entrada de autostash presente, ela é salva no reflog de stash.
Isso é contrastado com o comportamento atual de git rebase --quit onde a entrada de autostash é simplesmente abandonada.
Adote o comportamento de git merge --quitin git rebase --quite salve a entrada de autostash no reflog de stash em vez de apenas excluí-lo.