320

I am using Windows and before committing, Git wants me to enter a text message and a new text window appears.

screenshot

How can I exit from this?

I am trying to learn Git. So, a little help will be highly appreciated.

johnsyweb
  • 136,902
  • 23
  • 188
  • 247
newbie
  • 4,639
  • 10
  • 32
  • 45
  • 1
    possible duplicate of [Git commit asking for comment](http://stackoverflow.com/questions/5668191/git-commit-asking-for-comment) – Cascabel Feb 07 '12 at 05:27
  • 5 years on, and with this being a [famous question](https://stackoverflow.com/help/badges/28/famous-question?userid=1115545), would you like to accept an answer? – aaron Dec 19 '17 at 03:49

7 Answers7

302

Since you are learning Git, know that this has little to do with git but with the text editor configured for use. In vim, you can press i to start entering text and save by pressing esc and :wq and enter, this will commit with the message you typed. In your current state, to just come out without committing, you can do :q instead of the :wq as mentioned above.

Alternatively, you can just do git commit -m '<message>' instead of having git open the editor to type the message.

Note that you can also change the editor and use something you are comfortable with ( like notepad) - How can I set up an editor to work with Git on Windows?

Community
  • 1
  • 1
manojlds
  • 290,304
  • 63
  • 469
  • 417
  • I recommend setting the editor to your favorite editor. Then use the command line version (git commit -m '...') when it fits, or let it launch your editor (TextMate, Notepad, whatever) when it doesn't – Gal Aug 26 '15 at 00:18
83

There is a default text editor that will be used when Git needs you to type in a message. By default, Git uses your system’s default editor, which is generally Vi or Vim. In your case, it is Vim that Git has chosen. See How do I make Git use the editor of my choice for commits? for details of how to choose another editor. Meanwhile...

You'll want to enter a message before you leave Vim:

O

...will start a new line for you to type in.

To exit (g)Vim type:

EscZZ or Esc:wqReturn.

It's worth getting to know Vim, as you can use it for editing text on almost any platform. I recommend the Vim Tutor, I used it many years ago and have never looked back (barely a day goes by when I don't use Vim).

Community
  • 1
  • 1
johnsyweb
  • 136,902
  • 23
  • 188
  • 247
  • 1
    It's hard to see whether the 'O' is upper or lower case. A lower case 'o' causes the message to be written on the second row. – johnny Feb 07 '12 at 09:33
  • I guess it depends on your font. Hopefully the document to which it's hyperlinked will help disambiguate. – johnsyweb Feb 07 '12 at 11:53
  • It's worth getting to know vim so you can quit it from a wide variety of applications that default to it. – djechlin Sep 16 '17 at 21:35
  • In Inteliji Idea if you set Git as Terminal Escape just changes focus to code editor from Terminal, so the commits are still in edition mode, useless – user924 Aug 02 '23 at 11:00
59

That's the vi editor. Try ESC :q!.

A.R.SEIF
  • 865
  • 1
  • 7
  • 25
J-16 SDiZ
  • 26,473
  • 4
  • 65
  • 84
  • 6
    Actually, it's Vim (see the title bar). – hammar Feb 07 '12 at 05:27
  • it worked all the time, by now it's always being in INSERT mode, I press ESC but nothing changes! it's still edits commits – user924 Jan 27 '22 at 16:22
  • it doesn't work if you added it as terminal for IntelliJ Idea. sometimes `CTRL + ESC` works but sometimes it closes fully the vim and you have to abort rebase because it failed to continue – user924 Aug 02 '23 at 10:57
17

On Windows 10 this worked for me for VIM and VI using git bash

"Esc" + ":wq!"

or

"Esc" + ":q!"
atazmin
  • 4,757
  • 1
  • 32
  • 23
14

On windows I used the following command

:wq

and it aborts the previous commit because of the empty commit message

Mayank Pandeyz
  • 25,704
  • 4
  • 40
  • 59
Riya Abraham
  • 151
  • 1
  • 6
9

First type

 i

to enter the commit message then press ESC then type

 :wq

to save the commit message and to quit. Or type

 :q!

to quit without saving the message.

0

On windows, simply pressing 'q' on the keyboard quits this screen. I got it when I was reading help using '!help' or simply 'help' and 'enter', from the DOS prompt.

Happy Coding :-)

Abhinav Saxena
  • 1,990
  • 2
  • 24
  • 55