Annulez complètement une rebase

J’ai effectué une rebase comme ceci:

git rebase --onto master new_background_processing export_background_processing 

Cela n’a pas fait ce que je voulais, alors j’ai effectué une réinitialisation:

 git reset --hard HEAD@{1} 

J’ai récupéré ma twig dans l’état où elle se trouvait, mais j’ai reçu ce message lorsque je tape le statut git:

 # You are currently rebasing branch 'export_background_processing' on 'e378641'. 

Comment puis-je annuler complètement ce rebase? Je ne sais pas ce que cela signifie en soi.

Utilisez git rebase --abort . De la documentation officielle du kernel Linux pour git rebase :

 git rebase --continue | --skip | --abort | --edit-todo 

Dans le cas d’une rebase passée que vous n’avez pas correctement annulée, vous (Git 2.12, T1 2017) avez git rebase --quit

Voir engagement 9512177 (12 novembre 2016) de Nguyễn Thái Ngọc Duy ( pclouds ) . (Fusionné par Junio ​​C Hamano – gitster – dans commit 06cd5a1 , 19 décembre 2016)

rebase : ajoutez --quit à nettoyer le rebase, laissez tout le rest intact

Il y a des occasions où vous décidez d’abandonner une rebase en cours et de passer à autre chose mais vous oubliez de faire ” git rebase --abort ” en premier . Ou la rebase est en cours depuis si longtemps que vous l’avez oublié. Au moment où vous réalisez que (par exemple en lançant une autre rebase), il est déjà trop tard pour revenir sur vos pas. La solution est normalement

 rm -r .git/ 

et continuez votre vie.
Mais il pourrait y avoir deux répertoires différents pour (et cela nécessite évidemment une certaine connaissance du fonctionnement de rebase), et la partie ” .git ” pourrait être beaucoup plus longue si vous n’êtes pas dans le .git principal ou dans un .git lié. worktree. Et ” rm -r ” est très dangereux à faire en .git , une erreur pourrait détruire la firebase database d’objects ou d’autres données importantes.

Fournissez ” git rebase --quit ” pour ce cas d’utilisation, en imitant un précédent qui est ” git cherry-pick --quit “.

Vous avez de la chance de ne pas avoir terminé le rebase, vous pouvez toujours faire git rebase --abort . Si vous aviez terminé le rebase (il réécrit l’histoire ), les choses auraient été beaucoup plus complexes. Envisagez de manipuler les bouts des twigs avant d’effectuer des opérations potentiellement dommageables (en particulier la réécriture de l’historique), de cette façon, vous pouvez revenir en arrière si quelque chose explose.

Si vous “Rebasing” , “Déjà démarré rebase” que vous souhaitez annuler , il vous suffit de commenter (#) tous les commits listés dans l’éditeur de rebase.

En conséquence, vous recevrez un message de ligne de commande

 Nothing to do