【问题标题】:Problems with entering Git commit message with Vim使用 Vim 输入 Git 提交消息的问题
【发布时间】:2011-08-01 17:32:10
【问题描述】:

操作系统:Windows

我写

$ git commit

然后

"#请输入提交信息"

我写了一些文字,比如

“添加了表单验证”

按 Enter 并没有提交。然后我按 Shift+Enter、Ctrl+Enter、Alt+Enter - 仍然没有提交。

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

【问题讨论】:

  • 没问题。但是您的问题可能会在 Super User 上得到更好的关注,对于这种类型的非编程问题来说,这更受关注:superuser.com/questions/tagged/git

标签: git commit message


【解决方案1】:

如果是windows的vim,可以这样做:

  • 按照提供的指南输入您的信息
  • Esc 确保您退出插入模式
  • 然后输入:wqEnterZZ

请注意,在 VIM 中,通常有几种方法可以做一件事。不过这里有一点不同。 :wqEnter 总是在关闭当前文件之前写入当前文件,而ZZ:xEnter:xiEnter、@ 987654328@Enter:exiEnter:exitEnter 仅在文档​​被修改时才写入。
所有这些同义词只是按键次数不同。

【讨论】:

  • 当我输入 :wq 时,我看到以下消息,".git/COMMIT_EDITMSG" 54L, 2316C 写了 Aborting commit due to empty commit message。
  • 确保您已添加消息。当提示输入“我的消息”之类的内容时(你将进入 --insert 模式——我假设,按 esc 离开它)。完成后退出插入模式,然后输入“ZZ”(大写 ZZ)
  • 为什么,这是谁想出来的? :wq Enter 或 ZZ 听起来很疯狂。
  • i 命令开始插入消息文本非常有用。感谢@Matt Greer 的那个。这个答案对其余步骤很有用。
【解决方案2】:

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

如果您想使用 vim,请输入 i 以输入您的消息。开心的时候按ESC。然后输入:wq,git就会开心了。

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

【讨论】:

  • vim 曾经友好吗?还是人们只是习惯了它的不友好?
  • 一旦你了解了vim的工作原理,它就会变得友好。这实际上非常合乎逻辑且经过深思熟虑。
  • 如果我想在提交消息中使用需要转义的字符(例如撇号),我总是使用 vim 编辑器,因为它不那么烦人。否则我几乎总是把提交信息写成提交命令的一部分。
  • 当您需要修改提交消息时,这很棒
【解决方案3】:

您是否尝试过: git commit -m "这里留言"

所以在你的情况下:

git commit -m "Form validation added"

当然是在您添加文件之后。

【讨论】:

  • 你的变种很好。但我想走我写的路(谷歌翻译)
  • 别担心,我忘了那个命令后面还有一个编辑器。我很少只做 git commit 没有 -m "Message"
【解决方案4】:

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

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

【讨论】:

    【解决方案5】:

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

    git config --global core.commentchar "@"
    

    【讨论】:

      猜你喜欢
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2017-01-18
      相关资源
      最近更新 更多