Problems with entering Git commit message with Vim
操作系统:Windows
我写的
然后
"# Please enter the commit message"
号
我写了一些文字,比如
"Form validation added"
号
按Enter键,不提交。然后按shift+enter、ctrl+enter、alt+enter-仍然没有提交。
我认为这是愚蠢的麻烦,但我必须做什么?
- 没问题。但是您的问题可能会在超级用户那里得到更好的关注,对于这种类型的非编程问题,这是一个更为关注的主题:super user.com/questions/taged/git
如果它是VIM for Windows,则可以执行以下操作:
- 按照提供的准则输入您的信息
- 按esc以确保您已退出插入模式。
- 然后键入:wqenter或ZZ。
注意,在VIM中,通常有几种方法可以做一件事。不过这里有一点不同。:wqenter在关闭当前文件之前总是先写入当前文件,而ZZ、:xenter、:xienter、:xitenter、:exienter和:exitenter只在文档被修改时写入。所有这些同义词的按键次数都不一样。
- 链接:在为git输入commit消息后要做什么?
- 当我进入:wq时,我看到以下消息,".git/commit-editmsg"54l,2316c由于commit消息为空而写的aborting-commit。
- 确保您添加了一条消息。当提示输入类似"我的信息在这里"(您将进入——插入模式——我假设,按Esc键离开它)。完成后,退出插入模式,然后键入"zz"(大写zz)
- 为什么,谁想到的?:wq enter或zz听起来很疯狂。
- 开始插入消息文本的i命令非常有用。感谢@matt greer。这个答案对其余的步骤都有好处。
我假设您使用的是msys-git。如果您是,那么弹出来编写提交消息的编辑器是vim。维姆一开始不友好。您可能更喜欢切换到其他编辑器。如果您想使用不同的编辑器,请看下面的答案:如何在msysgit中使用notepad++(或其他)?
如果要使用vim,请键入i以键入消息。当高兴时按Esc。然后输入:wq,git就会高兴了。
或者只需键入git commit -m"your message here"就可以跳过编辑器。
- 维姆曾经友好吗?或者人们只是习惯了它的不友好?
- 一旦你了解它是如何工作的,维姆是友好的。事实上,这是非常合乎逻辑和经过深思熟虑的。
- 如果我想在提交消息中使用需要转义的字符(例如,撇号),我总是使用VIM编辑器,因为这样可以减少麻烦。否则,我几乎总是将提交消息作为提交命令的一部分写入。
- 当您需要修改提交消息时,这很好
你试过去吗?git commit-m"此处显示消息"
所以在你的例子中:
1
| git commit -m"Form validation added" |
当然,在添加了文件之后。
- 你的变体很好。但我想走我写的路(谷歌翻译)
- 不用担心,我忘了命令后有一个编辑器。我很少在没有-m"消息"的情况下进行git提交。
通常,git commit会显示一个交互式编辑器(在Linux上,也可能是cygwin,由$EDITOR环境变量的内容决定),供您在中编辑提交消息。当您保存并退出时,提交就完成了。
您应该确保尝试提交的更改已经添加到git索引中;这决定了提交的内容。有关详细信息,请参阅http://gitref.org/basic/。
您可以将注释字符更改为除此之外的其他内容:
1
| git config --global core.commentchar"@" |
号