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

操作系统: Windows

我写作

$ git commit

那么

“ # 请输入提交消息”

我写了一些短信,比如

“添加表单验证”

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

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

157672 次浏览

你有没有试过直接说: Git commit-m“ Message here”

所以对你来说:

git commit -m "Form validation added"

当然是在你添加了文件之后。

通常,git commit会提供一个交互式编辑器(在 Linux 上,可能还有 Cygwin 上,由您的 $EDITOR环境变量的内容决定) ,以便您在。当您保存并退出时,提交就完成了。

您应该确保您试图提交的更改已经添加到 Git 索引中; 这决定了提交的内容。有关这方面的详细信息,请参阅 http://gitref.org/basic/

如果它是 Windows 的 VIM,你可以做到以下几点:

  • 按照提供的指导方针输入您的信息
  • Esc以确保您已脱离插入模式
  • 然后键入 :wqEnterZZ

请注意,在 VIM 中通常有几种方法来做一件事情。不过,这里有一个细微的差别。:wqEnter总是在关闭文件之前写入当前文件,而 ZZ:xEnter:xiEnter:xitEnter:exiEnter:exitEnter只在文件为 ZZ3时才写入当前文件。
所有这些同义词都有不同的按键次数。

我猜你在用 msys git。如果是,那么弹出来编写提交消息的编辑器就是 vim。Vim 一开始并不友好。您可能更愿意切换到其他编辑器。如果您想使用不同的编辑器,请看下面的答案: 如何使用记事本 + + (或其他)与 msysgit?

如果要使用 vim,请键入 i以键入消息。当乐乐击中 ESC。然后键入 :wq,git 就会很高兴。

或者键入 git commit -m "your message here"完全跳过编辑器。

您可以将注释字符更改为除 # 之外的其他内容,如下所示:

git config --global core.commentchar "@"