2011-04-08 9 views
123

SO: WindowsProblemas con entrar en Git cometer mensaje con Vim

escribo

$ git commit 

continuación

"# Por favor, introduzca el mensaje de confirmación"

escribo algún texto, como

"La validación de formularios añadió"

Pulse Intro y no comprometida. Luego presiono Shift + Enter, Ctrl + Enter, Alt + Enter - todavía no confirmado.

Creo que es un problema estúpido, pero ¿qué debo hacer?

+0

@bzlm, gracias por edición. – aTei

+0

No hay problema. Pero su pregunta probablemente reciba mejor atención en Super User, que es más sobre el tema para este tipo de preguntas que no son de programación: http://superuser.com/questions/tagged/git – bzlm

Respuesta

199

Si es VIM para Windows, puede hacer lo siguiente:

  • introduzca su mensaje siguiendo las directrices que se presentan
  • prensa Esc para asegurarse de que está fuera del modo de inserción
  • luego escriba :wqIngrese o ZZ.

Tenga en cuenta que en VIM a menudo hay varias maneras de hacer una cosa. Aquí hay una ligera diferencia sin embargo. :wqIntroduzca siempre escribe el archivo actual antes de cerrarla, mientras ZZ, :xIntroduzca, :xiIntroduzca, :xitIntroduzca, :exiIntroduzca y :exitIntroduzca escribir solamente si el documento es modificada .
Todos estos sinónimos tienen diferentes números de pulsaciones de teclas.

+1

funciona. ¡Gracias! – aTei

+0

Vinculado: [¿Qué hacer después de escribir en el mensaje de confirmación para git?] (Http://stackoverflow.com/questions/5048859/what-to-do-after-typing-in-commit-message-for-git) – mousio

+1

Cuando ingreso ': wq' veo el siguiente mensaje," .git/COMMIT_EDITMSG "54L, 2316C se ha escrito Anulando la confirmación debido a un mensaje de confirmación vacío. – kanna

14

has necesitado sólo va: git commit "mensaje aquí" -m

Así, en su caso:

git commit -m "Form validation added" 

Después de agregar los archivos de curso.

+0

Su variante es buena. Pero quiero seguir el camino de lo que escribí (traductor de Google) – aTei

+0

Sin preocupaciones, olvidé que había un editor después de ese comando. Rara vez hago commit de git sin un -m "Mensaje" – Tony

1

Normalmente, git commit muestra un editor interactivo (en Linux, y posiblemente Cygwin, determinado por el contenido de su variable de entorno $EDITOR) para que edite su mensaje de confirmación. Al guardar y salir, la confirmación se completa.

Debe asegurarse de que los cambios que intenta realizar se hayan agregado al índice de Git; esto determina lo que está comprometido. Ver http://gitref.org/basic/ para detalles sobre esto.

36

Supongo que está utilizando msys git. Si es así, el editor que está apareciendo para escribir su mensaje de confirmación es vim. Vim no es amistoso al principio. Es posible que prefiera cambiar a un editor diferente. Si desea utilizar un editor diferente, mire esta respuesta: How do I use Notepad++ (or other) with msysgit?

Si desea usar vim, escriba i para escribir su mensaje. Cuando estés feliz, presiona ESC. Luego escriba :wq, y git estará contento.

O simplemente escriba git commit -m "your message here" para omitir el editor por completo.

+12

¿Es vim * siempre * amigable? ¿O la gente simplemente se acostumbra a su hostilidad? –

+8

vim es amigable una vez que comprenda cómo funciona. En realidad es muy lógico y bien pensado. –

+0

Esto funcionó para mí :) Mucho ... – kodmanyagha

0

Usted puede cambiar el carácter de comentario a algo más que # así:

git config --global core.commentchar "@"