Il convient d'ajouter que vous devez appuyer sur Esc avant d'entrer :q!pour quitter vim.
M_Merciless
Réponses:
332
Vous avez deux options:
Fournissez un message de validation vide. S'il s'agit d'un nouveau commit et que vous n'avez pas encore enregistré le message, vous pouvez simplement utiliser :q!(quitter sans enregistrer). Si vous avez déjà enregistré (ou que vous modifiez un commit précédent), supprimez simplement l'intégralité du message du journal et enregistrez à nouveau. Cela peut être fait avec ggdG+ :wqdans Vim.
Demandez à l'éditeur de quitter avec un code de sortie différent de zéro. Dans Vim, vous pouvez utiliser :cq(quitter avec un code d'erreur).
Il convient de noter que vous pouvez toujours réinitialiser votre copie de travail à l'état dans lequel elle se trouvait avant la validation git reset HEAD^.
: cq est l'entreprise. Pour une raison quelconque, git se débrouille, peu importe si j'utilise: q!
Sirex
2
git reset HEAD ^
annulerait
2
: q! ne fonctionne probablement pas car il y a déjà un message prédéfini, vous ne faites que le modifier.
Papipo
Hiccup: si vous en git reset HEAD^demandez plus, votre shell peut interpréter ^ comme une continuation de ligne. Essayez git reset "HEAD^", git reset HEAD^^ou à la git reset HEAD~1place selon cette réponse: stackoverflow.com/questions/14203952/git-reset-asks-more
Jake Stevens-Haas
76
:q!ne fonctionne pas lors de la modification d'un commit. Il ne met pas à jour le message de validation, mais il exécute l'amendement :-(
J'aimerais pouvoir ajouter un autre +1. Je suis ici depuis des dizaines d'années lorsque mon amendement prend le mauvais engagement.
Wyrmwood
8
Pour résumer:
Lorsque vous créez un nouveau commit (c.- git commità-d :q!. ), Quittez l'utilisation .
Lors de la modification (c'est-à-dire git commit --amend), supprimez le message de validation (uniquement les premières lignes ne commençant pas par un #), par exemple en maintenant v et en utilisant les touches fléchées pour le sélectionner, puis en appuyant sur Supprimer. Quittez avec :wqpour appliquer les modifications ! Si vous utilisez, :q!les modifications seront perdues et le message de validation précédent sera utilisé.
Lorsque vous utilisez VIM, il est correct dans les deux cas de quitter avec :cq- VIM se fermera avec un code d'erreur et la validation sera abandonnée.
:q!
pour quitter vim.Réponses:
Vous avez deux options:
Fournissez un message de validation vide. S'il s'agit d'un nouveau commit et que vous n'avez pas encore enregistré le message, vous pouvez simplement utiliser
:q!
(quitter sans enregistrer). Si vous avez déjà enregistré (ou que vous modifiez un commit précédent), supprimez simplement l'intégralité du message du journal et enregistrez à nouveau. Cela peut être fait avec ggdG+:wq
dans Vim.Demandez à l'éditeur de quitter avec un code de sortie différent de zéro. Dans Vim, vous pouvez utiliser
:cq
(quitter avec un code d'erreur).Il convient de noter que vous pouvez toujours réinitialiser votre copie de travail à l'état dans lequel elle se trouvait avant la validation
git reset HEAD^
.la source
git reset HEAD^
demandez plus, votre shell peut interpréter ^ comme une continuation de ligne. Essayezgit reset "HEAD^"
,git reset HEAD^^
ou à lagit reset HEAD~1
place selon cette réponse: stackoverflow.com/questions/14203952/git-reset-asks-more:q!
ne fonctionne pas lors de la modification d'un commit. Il ne met pas à jour le message de validation, mais il exécute l'amendement :-(:cq
annule complètement l'amendement.la source
Pour résumer:
git commit
à-d:q!
. ), Quittez l'utilisation .git commit --amend
), supprimez le message de validation (uniquement les premières lignes ne commençant pas par un #), par exemple en maintenant v et en utilisant les touches fléchées pour le sélectionner, puis en appuyant sur Supprimer. Quittez avec:wq
pour appliquer les modifications ! Si vous utilisez,:q!
les modifications seront perdues et le message de validation précédent sera utilisé.Lorsque vous utilisez VIM, il est correct dans les deux cas de quitter avec
:cq
- VIM se fermera avec un code d'erreur et la validation sera abandonnée.la source