220 votes

Le commit Git dans le terminal ouvre le VIM, mais il n'est pas possible de revenir au terminal

J'essaie d'apprendre GitHub en ce moment et je fais ceci Tutoriel sur l'essentiel de Git sur nettuts. J'en suis à la leçon sur les commits.

Les types d'enseignants git commit et il ouvre VIM en tant qu'éditeur (j'aimerais aussi savoir comment le faire s'ouvrir en Texte sublime 2 à la place) Quoi qu'il en soit, il s'ouvre dans VIM et j'ajoute une ligne disant qu'il s'agit de mon premier commit et je clique sur save.

Ensuite, il m'invite à enregistrer la sortie sur le bureau, ce que je n'ai pas vu dans son screencast. Maintenant je suis toujours dans VIM et je ne sais pas comment revenir au terminal 'normal' :(

Je n'arrivais pas à comprendre, alors j'ai quitté le terminal et je l'ai relancé, j'ai refait git commit et j'ai eu des messages d'avertissement à propos des doublons ! Je ne sais pas si je dois (E)edit de toute façon ou (A)abort .

git status

enter image description here

vim

enter image description here

message lorsque je rouvre le terminal et que je refais git commit

enter image description here

3 votes

I vous voulez juste savoir comment sauvegarder et quitter vim, c'est :wq

0 votes

Duplication possible de Utiliser git commit -a avec vim

3 votes

Même problème ici... dès que j'essaie de faire un commit, le terminal ouvre une sorte d'éditeur que je ne peux pas quitter. Très ennuyeux !

389voto

Gille Points 1770

Pour sauvegarder votre travail et quitter, appuyez sur Esc et ensuite :wq (w pour écrire et q pour quitter).

Vous pouvez également sauvegarder et quitter en appuyant sur la touche Esc et ensuite :x

Pour définir un autre éditeur, exécutez export EDITOR=myFavoriteEdior sur votre terminal, où myFavoriteEdior peut être vi , gedit , subl (pour sublime), etc.

7 votes

+1 sur l'explication de la séquence de commandes et, ce faisant, sur la manière de changer d'éditeur si nécessaire (mais sérieusement, pourquoi quelqu'un voudrait-il utiliser un éditeur autre que vim :)

15 votes

N.B. Un simple :x sauvegarder et quitter vim c'est un peu plus rapide que :wq ;)

1 votes

Pour définir l'éditeur de manière permanente, vous pouvez utiliser : git config --global core.editor myFavoriteEditor

42voto

pkyeck Points 6158

Ce n'est pas vraiment la réponse au problème du VIM, mais vous pourriez utiliser la ligne de commande pour entrer également le message de validation :

git commit -m "This is the first commit"

22voto

Lieven Keersmaekers Points 32396

Vous devez revenir à normal et enregistrer le message de validation avec l'une des deux options suivantes

<Esc>:wq

ou

<Esc>:x

ou

<Esc>ZZ

Les Esc vous renvoie de insérer en mode normal mode. Le mode :wq , :x ou ZZ écrit les modifications et quitte l'éditeur.

3 votes

Non... la touche esc ne fait rien. Je suis bloqué dans "Merge branch master of ..." Veuillez saisir un message de validation pour expliquer pourquoi cette fusion est nécessaire.

0 votes

A fait vous entrez un message de validation ? Que se passe-t-il lorsque vous appuyez sur <Esc>:wq ?

3 votes

Dans mon cas, rien ne se passe. Qu'est-ce que c'est que ces commandes cryptiques, est-ce que c'est 2016 ou 1996 ?

16voto

Jani Hartikainen Points 23183

Il suffit d'exécuter la commande vim "save and quit" (sauvegarder et quitter) :wq devrait faire l'affaire.

Pour que Git l'ouvre dans un autre éditeur, vous devez modifier le paramètre Git core.editor à une commande qui exécute l'éditeur souhaité.

git config --global core.editor "command to start sublime text 2"

4 votes

Merci pour l'astuce qui consiste à paramétrer l'éditeur sur sublime text. J'ai rencontré un problème cependant, j'ai dû mettre un --wait drapeau : git config --global core.editor "subl --wait" . Cela permet d'éviter Aborting commit due to empty commit message.

16voto

mhatch Points 2537

Ceci est une réponse à votre question...

J'aimerais aussi savoir comment l'ouvrir dans Sublime Text 2 à la place

Pour Windows :

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

Vérifiez que le chemin d'accès à sublime_text.exe est correcte et l'ajuster si nécessaire.

Pour Mac/Linux :

git config --global core.editor "subl -n -w"

Si vous obtenez un message d'erreur tel que :

erreur : Il y a eu un problème avec l'éditeur 'subl -n -w'.

Créer l'alias pour subl

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

Vérifiez à nouveau que le chemin d'accès correspond à votre machine.

Pour Sublime Text, il suffit d'enregistrer cmd S et fermer la fenêtre cmd W pour revenir à git.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X