使用 Vim 输入 Git 提交消息的问题
Posted
技术标签:
【中文标题】使用 Vim 输入 Git 提交消息的问题【英文标题】:Problems with entering Git commit message with Vim 【发布时间】:2011-08-01 17:32:10 【问题描述】:操作系统:Windows
我写
$ git commit
然后
"#请输入提交信息"
我写了一些文字,比如
“添加了表单验证”
按 Enter 并没有提交。然后我按 Shift+Enter、Ctrl+Enter、Alt+Enter - 仍然没有提交。
我认为这是愚蠢的麻烦,但我必须做什么?
【问题讨论】:
没问题。但是您的问题可能会在 Super User 上得到更好的关注,对于这种类型的非编程问题来说,这更受关注:superuser.com/questions/tagged/git 【参考方案1】:如果是windows的vim,可以这样做:
按照提供的指南输入您的信息 按 Esc 确保您退出插入模式 然后输入:wq
Enter 或ZZ
。
请注意,在 VIM 中,通常有几种方法可以做一件事。不过这里有一点不同。 :wq
Enter 总是在关闭当前文件之前写入当前文件,而ZZ
、:x
Enter、:xi
Enter、@ 987654328@Enter、:exi
Enter 和:exit
Enter 仅在文档被修改时才写入。
所有这些同义词只是按键次数不同。
【讨论】:
链接:What to do after typing in commit message for git? 当我输入: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 "@"
【讨论】:
以上是关于使用 Vim 输入 Git 提交消息的问题的主要内容,如果未能解决你的问题,请参考以下文章