Git - Comment fermer l'éditeur de commit?


209

Je suis nouveau dans git et j'apprends à partir d'un PDF. Je viens d'exécuter une commande $ git commitet cela ouvre un nouvel éditeur. Mais j'essaie de fermer ce nouvel éditeur de commit. Comment faire ça? J'utilise git sur windows.


pas une réponse complète, mais une façon d'éviter l'éditeur est d'utiliser l'option "-m". Par exemple, après $ git, ajoutez <vos_changements>, puis faites $ git commit -m "mes modifications; j'évite l'éditeur!"
Quetzalcoatl

Réponses:


242

Enregistrez le fichier dans l'éditeur. Si c'est Emacs: CTRLX CTRLSpour sauvegarder puis CTRLX CTRLCpour quitter ou si c'est vi::wq

Appuyez d' escabord sur pour sortir de l'édition. (sous windows / vi)


3
L'utilisateur doit fermer l'éditeur en plus d'enregistrer le fichier, donc pour Emacs, c'est en fait Ctrl-X Ctrl-C.
user4815162342

1
Mis à jour ... Je le savais, mais comme la plupart des commandes emacs, elles sont tellement ancrées en moi que j'oublie ce qu'elles sont ... Je les fais juste.
tpg2114

Si vous utilisez emacsclient, vous pouvez le fermer avecC-x #
azzamsa

1
merci, sur windows bash, il n'est pas clair que vous devez 1: quitter et 2: enregistrer les modifications
Juan Monsalve

Ce mode d'insertion est-il quelque chose que je peux désactiver sur ma machine Windows?
Rez.Net

201

A également eu des ennuis. Sous Linux, j'ai utilisé Ctrl+ X(et Ypour confirmer), puis j'étais de retour sur le shell prêt à tirer / pousser.

Sur Windows GIT Bash Ctrl + Xne ferait rien et a découvert que cela fonctionne tout à fait comme vi / vim. Appuyez ipour entrer en mode d'insertion en ligne. Tapez la description tout en haut, appuyez sur escpour quitter le mode d'insertion, puis tapez :x!(maintenant le curseur est en bas) et appuyez sur enterpour enregistrer et quitter.

Si vous tapez :q! place, quittera l'éditeur sans enregistrer (et la validation sera abandonnée)


18
c'est la réponse pour moi pour windows
lode

1
esc: x! - Ce n'est pas seulement impossible à découvrir, c'est comme si quelqu'un jouait à cache-cache avec des fonctionnalités.
Tristan

45

Après avoir écrit le message de validation, appuyez simplement sur le bouton Echap , puis écrivez : wq ou : wq! puis sur Entrée pour fermer le fichier Unix.


6
cette solution est celle qui fonctionne sur Git Gui bash pour la fenêtre
ocrampico

! Cela m'a rappelé l'époque de l'Université, lorsque nous avons fait des modifications sous Unix vi, après avoir longtemps écrit quelques :wqcommandes
Irf

:xest un raccourci pour :wqdans Vim.
rnevius

19

Mieux encore, configurez l'éditeur sur quelque chose avec lequel vous êtes à l'aise (gedit par exemple):

git config --global core.editor "gedit"

Vous pouvez lire la configuration actuelle comme ceci:

git config core.editor

Vous pouvez également ajouter le message de validation à partir de la ligne de commande.

git commit -m "blablabla"

et l'éditeur ne sera pas ouvert en premier lieu.


8

Après la git commitcommande, vous êtes entré dans l'éditeur, appuyez d'abord sur ipuis commencez à taper. Après avoir commis votre message a frappé Ctrl + calors:wq


4

Alternatives à Nano (pourraient vous faciliter la vie):

Sous Windows, utilisez le bloc-notes. Dans l'invite de commande, tapez:

git config core.editor notepad

Sur Ubuntu / Linux, utilisez l'éditeur de texte (gedit). Dans le type de fenêtre de terminal:

git config core.editor gedit


1

Comme alternative à «enregistrer et quitter», vous pouvez utiliser la fonction de git-commit git-commit-commit, par défaut liée à C-c C-c. Il enregistrera le fichier et le fermera. Ensuite, vous devez toujours fermer emacs avec C-x C-c, comme mentionné précédemment. J'essaie actuellement de savoir comment faire pour qu'emacs se ferme automatiquement.


1

J'ai eu ce problème, j'ai reçu une invite de type ">" et je n'ai pas pu valider. Je remplace le "dans le commentaire par" et ça marche.

J'espère que cela aide quelqu'un!


Ah! J'étais resté coincé avec cette invite ">" aussi. En lisant votre commentaire, j'ai compris que puisque j'avais utilisé une apostrophe dans une contraction dans mon commentaire, le terminal m'attendait pour clore le devis! Enfin je suis libre!
Kevin Scharnhorst

0

Je ne suis pas sûr de la combinaison de touches qui vous y amène à l'invite> mais ce n'est pas une invite bash que je connais. Je l'obtiens habituellement par accident. Ctrl + C (ou D) me ramène à l'invite $.



0

Sous Mac 1.Appuyez sur Maj + Z Maj + Z (Z majuscule deux fois).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.