web-dev-qa-db-fra.com

Comment abandonner un rebase git depuis vim pendant l'édition interactive

Lorsque je fais une rebase interactive, par exemple.

git rebase -i HEAD~3

l'éditeur interactif de rebase (vim dans mon cas) s'ouvre pour me permettre d'éditer les commits à rebase

pick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....

Si je décide maintenant que je veux abandonner la base et quitter vim en utilisant :q la rebase commence quand même. J'utilise la version git 1.9.0.msysgit.0 sur les fenêtres.

Bien sûr, je peux simplement supprimer toutes les lignes pick, mais cela pourrait être difficile si je me basais sur un historique plus long. Y a-t-il un autre moyen?

Comment puis-je quitter l'éditeur interactif de la base (vim) et abandonner la base?

124
René Link

Si vous quittez l'éditeur avec un code d'erreur, la base sera annulée.

Pour quitter avec un code d'erreur sur vim, faites

:cq

Voir ici et vimdoc ici .

218
Telmo Costa

Supprimez simplement toutes les lignes qui ne sont pas des commentaires du fichier. Puis enregistrez-le dans le chemin fourni par défaut et quittez l'éditeur.

En conséquence, git ne fera rien dans cette base.

Pour supprimer toutes les lignes de vim, vous pouvez utiliser

:%d|x

Puis enregistrez et quittez.

supprime toutes les lignes du fichier dans Vim

Comment quitter l'éditeur Vim?

VIM - plusieurs commandes sur la même ligne

43
Steven Penny

Si vous utilisez Notepad ++ sous Windows par exemple:

CtrlA tout sélectionner, puis Del ou Backspace supprimer et CtrlS enregistrer. Git va abandonner la base si le fichier est vide.

Vous pouvez aussi frapper CtrlC dans l'invite de commande où git est en cours d'exécution pour arrêter la commande actuelle de rebase. Puis lancez git rebase --abort pour le retourner.

8
CoDEmanX

Supprimez tout le texte dans votre éditeur de texte, puis enregistrez le fichier avec le chemin fourni par défaut.

3
mcandre