2011-04-08 54 views
123

OS问题:WINDOWS与进入的Git提交信息的Vim

我写

$ git commit 

然后

“#请输入提交信息”

我写的一些文字,如

“表单验证补充说:”

按Enter键,而不是COMMITED。然后我按下Shift + Enter,Ctrl + Enter,Alt + Enter - 仍然没有提交。

我觉得它很愚蠢,但是我该怎么办?

+0

@bzlm,感谢编辑。 – aTei 2011-04-08 18:22:36

+0

没问题。但是你的问题可能会在超级用户中得到更好的关注,这对于这种非编程问题的更多话题是:http://superuser.com/questions/tagged/git – bzlm 2011-04-08 18:25:02

回答

199

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

  • 进入下面所提出的指导方针您的留言
  • Esc键,以确保您不在插入模式的
  • 然后输入:wq输入ZZ

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

+1

”。谢谢你! – aTei 2011-04-08 18:31:54

+0

链接:[为git输入提交信息后要做什么?](http://stackoverflow.com/questions/5048859/what-to-do-after-typing-in-commit-message-for-git) – mousio 2011-04-09 07:36:02

+1

当我输入':wq'时,我看到以下消息,“.git/COMMIT_EDITMSG”54L,2316C写入由于空的提交消息而中止提交。 – kanna 2013-03-15 17:35:29

14

您是否尝试过只是去: git的承诺-m “这里的消息”

所以你的情况:

git commit -m "Form validation added" 

你添加后你的课程文件。

+0

你的变种好。但我想走我写的东西(谷歌翻译) – aTei 2011-04-08 18:23:07

+0

不用担心,我忘了在那个命令后面有一个编辑。我很少做任何没有-m的“git commit”消息“ – Tony 2011-04-08 18:37:31

1

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

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

36

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

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

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

+12

vim * ever * friendly?或者人们习惯了不友好的态度? – 2011-08-17 16:08:10

+8

一旦你了解它是如何工作的,vim就很友好。这实际上非常合乎逻辑,深思熟虑。 – 2011-08-17 19:59:18

+0

这对我有效:) Thx很多... – kodmanyagha 2016-07-30 10:05:38

0

您可以在注释字符改变的东西,除了#像这样:

git config --global core.commentchar "@"