Git - Come chiudere l'editor di commit?


209

Sono nuovo di git e di apprendimento da un PDF. Ho appena eseguito un comando $ git commite apre un nuovo editor. Ma sto cercando di chiudere quel nuovo editor di commit. Come fare questo? Sto usando Git su Windows.


non è una risposta completa, ma un modo per evitare l'editor è usare l'opzione "-m". Ad esempio, dopo $ git aggiungi <your_changes>, quindi esegui $ git commit -m "le mie modifiche; sto evitando l'editor!"
Quetzalcoatl,

Risposte:


242

Salva il file nell'editor. Se è Emacs: CTRLX CTRLSsalvare quindi CTRLX CTRLCuscire o se è vi::wq

Premi escprima per uscire dalla modifica. (in windows / vi)


3
L'utente deve chiudere l'editor oltre a salvare il file, quindi per Emacs è effettivamente Ctrl-X Ctrl-C.
user4815162342

1
Aggiornato ... lo sapevo, ma come la maggior parte dei comandi di emacs, sono così radicati in me che dimentico cosa sono ... li faccio e basta.
tpg2114,

Se usi emacsclient, puoi chiuderlo conC-x #
azzamsa

1
grazie, su windows bash non è chiaro che devi 1: uscire e 2: salvare le modifiche
Juan Monsalve

Questa modalità di inserimento è qualcosa che posso disabilitare sul mio computer Windows?
Rez.Net

201

Aveva anche problemi. Su Linux ho usato Ctrl+ X(e Yper confermare) e poi sono tornato sulla shell pronto a tirare / spingere.

Su Windows GIT Bash Ctrl + Xnon farebbe nulla e scoprirà che funziona piuttosto come vi / vim. Premere iper accedere alla modalità di inserimento in linea. Digita la descrizione in alto, premi escper uscire dalla modalità di inserimento, quindi digita :x!(ora il cursore si trova in basso) e premi enterper salvare ed uscire.

Se :q!invece digiti , uscirà dall'editor senza salvare (e il commit verrà interrotto)


18
questa è la risposta per me per windows
lode

1
esc: x! - Questo non è solo da scoprire, è come se qualcuno stesse giocando a nascondino con funzionalità.
Tristan,

45

Dopo aver scritto il messaggio di commit, basta premere il pulsante Esc e quindi scrivere : wq o : wq! e quindi Invio per chiudere il file unix.


6
questa soluzione è quella che funziona su Git Gui bash per windows
ocrampico,

! Questo mi ha ricordato i tempi dell'università, quando abbiamo fatto alcune cose di editing su Unix vi, dopo aver scritto a lungo alcuni :wqcomandi
Irf,

:xè una scorciatoia per :wqin Vim.
rnevius,

19

Meglio ancora, configura l'editor su qualcosa che ti piace (gedit come esempio):

git config --global core.editor "gedit"

Puoi leggere la configurazione corrente in questo modo:

git config core.editor

Puoi anche aggiungere il messaggio di commit dalla riga di comando.

git commit -m "blablabla"

e l'editor non verrà aperto in primo luogo.


7

Dopo il git commitcomando, sei entrato nell'editor, quindi premi prima ipoi inizia a digitare. Dopo aver commesso il messaggio ha colpito Ctrl + cpoi:wq


4

Alternative a Nano (potrebbe semplificarti la vita):

Su Windows, usa il blocco note. Nel prompt dei comandi digitare:

git config core.editor notepad

Su Ubuntu / Linux, utilizzare l'editor di testo (gedit). Nella finestra del terminale digitare:

git config core.editor gedit


1

In alternativa a 'save & quit', puoi usare la funzione di git-commit git-commit-commit, per impostazione predefinita associata a C-c C-c. Salverà il file e lo chiuderà. Successivamente, devi ancora chiudere emacs con C-x C-c, come menzionato prima. Attualmente sto cercando di scoprire come far uscire automaticamente emacs.


1

Ho avuto questo problema, ho ricevuto un prompt ">" e non sono riuscito a eseguire il commit. Sostituisco "nel commento con 'e funziona.

Spero che questo aiuti qualcuno!


Aha! Mi ero bloccato anche con questo prompt ">". Dalla lettura del tuo commento ho capito che da quando avevo usato un apostrofo in una contrazione nel mio commento, il terminale mi stava aspettando di chiudere la citazione! Finalmente sono libero!
Kevin Scharnhorst,

0

Non sono sicuro della combinazione di tasti che ti porta al prompt> ma non è un prompt bash che conosco. Di solito lo capisco per caso. Ctrl + C (o D) mi riporta al prompt $.


0

Nota che se stai usando Sublime come editor di commit, hai bisogno dei -n -wflag , altrimenti git continua a pensare che il tuo messaggio di commit sia vuoto e che si interrompa.


0

In Mac 1.Premi MAIUSC + Z MAIUSC + Z (maiuscola Z due volte).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.