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

使用Vim输入Git提交消息时出现问题,git,commit,message,Git,Commit,Message,操作系统:Windows 我写 $ git commit 然后 “#请输入提交消息” 我写了一些文字,比如 “已添加表单验证” 按Enter键,不提交。然后我按Shift+Enter、Ctrl+Enter、Alt+Enter-仍然未提交 我想这是个愚蠢的麻烦,但我必须做什么呢?你有没有试着去: git提交-m“此处消息” 因此,在你的情况下: git commit -m "Form validation added" 当然,在添加文件之后。通常,git commit会打开一个交互式编辑器(在

操作系统:Windows

我写

$ git commit
然后

“#请输入提交消息”

我写了一些文字,比如

“已添加表单验证”

按Enter键,不提交。然后我按Shift+Enter、Ctrl+Enter、Alt+Enter-仍然未提交

我想这是个愚蠢的麻烦,但我必须做什么呢?

你有没有试着去: git提交-m“此处消息”

因此,在你的情况下:

git commit -m "Form validation added"

当然,在添加文件之后。

通常,
git commit
会打开一个交互式编辑器(在Linux上,可能还有Cygwin上,由
$editor
环境变量的内容决定),供您在其中编辑提交消息。保存并退出时,提交完成


您应该确保尝试提交的更改已添加到Git索引中;这决定了提交的内容。有关详细信息,请参阅。

如果是VIM for Windows,则可以执行以下操作:

  • 按照提供的指导原则输入您的信息
  • 按Esc键以确保退出插入模式
  • 然后键入
    :wq
    输入或
    ZZ
注意,在VIM中,通常有几种方法来完成一件事。但这里有一点不同
:wq
Enter总是在关闭当前文件之前写入它,而
ZZ
:x
Enter,
:xi
Enter,
:xit
Enter,
:exi
Enter和
:exit
只有在文档被修改时才写入它。

所有这些同义词的按键次数不同。

我假设您使用的是msys git。如果是,则弹出来编写提交消息的编辑器是vim。维姆起初并不友好。您可能更愿意切换到其他编辑器。如果要使用其他编辑器,请查看以下答案:

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


或者只需键入
git commit-m“your message here”
即可跳过编辑器。

您可以将注释字符更改为除此之外的其他字符,如:

git config --global core.commentchar "@"

你的变体很好。但是我想走我写的路(谷歌翻译)不用担心,我忘了在那个命令之后还有一个编辑器。我很少在没有-m“Message”的情况下执行git提交,没问题。但您的问题可能会在超级用户上得到更好的关注,这是关于此类非编程问题的更多主题:链接:当我输入
:wq
时,我看到以下消息,“.git/COMMIT\u EDITMSG”54L,2316C由于提交消息为空而编写了中止提交。请确保您添加了一条消息。当出现提示时,键入类似“我的消息在此”(您将进入--insert模式--我假定,按esc键将其保留)。完成后,退出插入模式,然后键入“ZZ”(大写ZZ)为什么,谁想出了这个wq Enter或ZZ听起来很疯狂。开始插入消息文本的
i
命令非常有用。感谢@Matt Greer的帮助。这个答案对剩下的步骤很好。vim友好吗?或者人们只是习惯了它的不友好?一旦你了解了它的工作原理,vim就是友好的。事实上,这是非常合乎逻辑且经过深思熟虑的。如果我想在提交消息中使用需要转义的字符(例如撇号),我总是使用vim编辑器,因为这样比较省事。否则,我几乎总是将提交消息作为提交命令的一部分来编写。这在需要修改提交消息时非常有用