使用Vim输入Git提交消息的问题

时间:2011-04-08 18:13:58

标签: git commit message

操作系统:Windows

我写

$ git commit

然后

  

“#请输入提交消息”

我写了一些文字,比如

  

“添加表单验证”

按Enter键但未提交。然后按Shift + Enter,Ctrl + Enter,Alt + Enter - 仍然没有提交。

我认为这是一个愚蠢的麻烦,但我必须做些什么?

5 个答案:

答案 0 :(得分:223)

如果是Windows的VIM,您可以执行以下操作:

  • 按照提供的指南输入您的信息
  • Esc 以确保您处于插入模式之外
  • 然后输入:wq 输入ZZ

请注意,在VIM中,通常有几种方法可以做一件事。虽然这里略有不同。 :wq 输入总是在关闭之前写入当前文件,而ZZ:x 输入:xi 输入:xit 输入:exi 输入:exit 输入只写如果文件是修改 所有这些同义词只有不同数量的按键。

答案 1 :(得分:42)

我假设你正在使用msys git。如果是的话,弹出来编写提交消息的编辑器是vim。 Vim起初并不友好。您可能更喜欢切换到其他编辑器。如果您想使用其他编辑器,请查看以下答案:How do I use Notepad++ (or other) with msysgit?

如果您想使用vim,请键入i以输入您的消息。当快乐命中ESC。然后输入:wq,然后git会很高兴。

或者只需输入git commit -m "your message here"即可完全跳过编辑器。

答案 2 :(得分:14)

你有没有试过去: git commit -m“在这里留言”

所以在你的情况下:

git commit -m "Form validation added"

当然您添加了文件后。

答案 3 :(得分:1)

通常,git commit会打开一个交互式编辑器(在Linux上,可能是Cygwin,由您的$EDITOR环境变量的内容决定),以便您编辑提交消息。当您保存和退出,提交完成。

您应该确保您尝试提交的更改已添加到Git索引中;这决定了什么是承诺。有关详细信息,请参阅http://gitref.org/basic/

答案 4 :(得分:0)

您可以将注释字符更改为#之外的其他内容:

git config --global core.commentchar "@"