Git - ¿Cómo cerrar el editor de commit?

209

Soy nuevo en git y estoy aprendiendo de un PDF. Acabo de ejecutar un comando $ git commity se abre un nuevo editor. Pero estoy tratando de cerrar ese nuevo editor de commit. ¿Como hacer esto? Estoy usando git en windows.

aniskhan001
fuente
no es una respuesta completa, pero una forma de evitar el editor es usar la opción "-m". Por ejemplo, después de $ git agregue <your_changes>, luego haga $ git commit -m "mis cambios; ¡estoy evitando el editor!"
Quetzalcóatl

Respuestas:

242

Guarde el archivo en el editor. Si es Emacs: CTRLX CTRLSpara guardar, CTRLX CTRLCpara salir o si es vi::wq

Presione escprimero para salir de la edición. (en windows / vi)

tpg2114
fuente
3
El usuario debe cerrar el editor además de guardar el archivo, por lo que para Emacs es en realidad Ctrl-X Ctrl-C.
user4815162342
1
Actualizado ... Lo sabía, pero como la mayoría de los comandos de emacs, están tan arraigados en mí que olvido lo que son ... Simplemente los hago.
tpg2114
Si usa emacsclient, puede cerrarlo conC-x #
azzamsa
1
gracias, en windows bash no está claro que debes 1: salir y 2: guardar los cambios
Juan Monsalve
¿Es este modo de inserción algo que puedo deshabilitar en mi máquina Windows?
Rez.Net
201

Tuve problemas también. En Linux usé Ctrl+ X(y Ypara confirmar) y luego volví al shell listo para tirar / empujar.

En Windows, GIT Bash Ctrl + Xno haría nada y descubrió que funciona bastante como vi / vim. Presione ipara ingresar al modo de inserción en línea. Escriba la descripción en la parte superior, presione escpara salir del modo de inserción, luego escriba :x!(ahora el cursor está en la parte inferior) y presione enterpara guardar y salir.

Si escribe en su :q!lugar, saldrá del editor sin guardar (y se cancelará la confirmación)

Marc Compte
fuente
18
Esta es la respuesta para Windows
lode
1
esc: x! - Esto no solo es indescifrable, es como si alguien estuviera jugando a las escondidas con funcionalidad.
Tristán
45

Después de escribir el mensaje de confirmación, simplemente presione el botón Esc y luego escriba : wq o : wq! y luego Enter para cerrar el archivo unix.

chandan gupta
fuente
66
esta solución es la que funciona en Git Gui bash para window
ocrampico
! Esto me recordó a los días de la Universidad, cuando hicimos algunas cosas de edición de Unix vi, después de mucho tiempo escribí algunos :wqcomandos
Irf
:xes un atajo para :wqen Vim.
rnevius
19

Mejor aún, configure el editor para algo con lo que se sienta cómodo (gedit como ejemplo):

git config --global core.editor "gedit"

Puede leer la configuración actual de esta manera:

git config core.editor

También puede agregar el mensaje de confirmación desde la línea de comandos.

git commit -m "blablabla"

y el editor no se abrirá en primer lugar.

Martin G
fuente
7

Después del git commitcomando, ingresó al editor, así que primero presione y iluego comience a escribir. Después de cometer su mensaje golpeó Ctrl + ca continuación,:wq

Mohammad Hashemi
fuente
4

Alternativas a Nano (podría hacerte la vida más fácil):

En Windows, use el bloc de notas. En el símbolo del sistema, escriba:

git config core.editor notepad

En Ubuntu / Linux, use el editor de texto (gedit). En la ventana de terminal, escriba:

git config core.editor gedit

ggootz
fuente
1

Como alternativa a 'guardar y salir', puede usar la función de git-commit git-commit-commit, de forma predeterminada vinculada a C-c C-c. Guardará el archivo y lo cerrará. Después, todavía tiene que cerrar emacs con C-x C-c, como se mencionó anteriormente. Actualmente estoy tratando de averiguar cómo hacer que emacs se cierre automáticamente.

Martín
fuente
1

Tuve este problema, recibí un ">" como mensaje y no pude confirmar. Reemplazo el "en el comentario con 'y funciona.

Espero que esto ayude a alguien!

Mariano Cali
fuente
¡Ajá! Me había quedado atascado con este ">" aviso también. Al leer su comentario, descubrí que, dado que había usado un apóstrofe en una contracción en mi comentario, ¡la terminal estaba esperando que cerrara la cotización! ¡Finalmente soy libre!
Kevin Scharnhorst
0

No estoy seguro de la combinación de teclas que te lleva allí al indicador> pero no es un indicador bash que yo sepa. Usualmente lo consigo por accidente. Ctrl + C (o D) me devuelve al indicador $.

dubfactor
fuente
0

Tenga en cuenta que si está usando Sublime como su editor de confirmación, necesita los -n -windicadores , de lo contrario, git sigue pensando que su mensaje de confirmación está vacío y está abortando.

Siddhartha
fuente
0

En Mac 1.Pulse shift + Z shift + Z (Z mayúscula dos veces).

A_Mo
fuente