如何从Windows cmd保存git commit消息?


200

我从命令行运行git。

一个如何保存提交消息?

我的意思是我应该按什么键才能通过此屏幕:

提交消息界面

Answers:


298

您在vim内部。要保存更改并退出,请键入:

<esc> :wq <enter>

这意味着:

  • Escape。这应该确保您处于命令模式
  • 输入 :wq
  • Return

评论中提到的stdcall的替代方法是:

  • Escape
  • shift+ Z shift+ Z(资本Z的两倍)。

1
非常感谢,非常感谢!
Jackson Publick 2012年

1
然后是<esc> ZZ,以确保您处于正常模式。
伊克2015年

我爱你@stdcall:D正是在寻找这个短键
Muhammad Omer Aslam

3
我测试了所有内容大约半小时,直到我得到事实,输入[shift] + [z,z]使我退出了Windows的该编辑器!!什么是:wq?尽管我可以删除旧消息,但我什至无法输入其他消息。是否有捷径或类似名称的参考文献,以学习如何浏览此“编辑器”?
Martin P.

对我来说,我必须按<esc>,然后按[shift] + [z,z]。我认为<esc>是要退出插入模式。这可能对其他人有帮助。
marvelTracker

58

我相信对这个问题的真正答案是关于如果您不熟悉Vim时如何配置默认使用的编辑器的一种解释。

例如,这是配置记事本的方法,在Windows中非常有用:

git config --global core.editor "notepad"

Gedit,对Linux更友好:

git config --global core.editor "gedit"

您可以像这样读取当前配置:

git config core.editor

5
记事本不会写入带有Unix行尾的文件,也不能单独用作core.editor。需要GitPad或其他包装。 github.com/github/GitPad
Edward Thomson,

我建议使用nano留在终端中,而不要启动文本编辑器应用程序。它比vim易于使用,并且实际上在屏幕底部显示了可用的命令。
Maybe_Factor

如果由于(与我一样)您正在使用WSL而导致此操作不起作用,则可以使用重置core.editor为默认值git config --global --unset-all core.editor。如果有某种方法可以将记事本与WSL一起使用,那将是完美的。
大通



8

如果输入git commit但忽略使用–m参数输入评论,则Git将打开默认编辑器供您编辑签入便笺。默认情况下是Vim。现在您可以做两件事:

选择1 –退出Vim而不输入任何评论,然后重复

空白或未保存的注释将被视为提交更改的尝试,您可以按照以下步骤退出Vim:

  1. 按下Esc以确保您不在编辑模式中(Esc不确定时可以按几次)

  2. 键入:q! enter
    (即冒号,字母q,感叹号,回车),这告诉Vim放弃所有更改并退出),
    然后Git将响应:

    由于提交消息为空而中止提交

    并且您可以再次自由地使用以下命令进行提交:

    git commit –m "your comment here"
    

备选方案2 –使用Vim撰写评论

请按照以下步骤使用Vim编写您的评论

  1. i进入编辑模式(或插入模式)。
    这将使您在第一行上的光标闪烁。添加您的评论。按下Esc以确保您未处于编辑模式(如果不确定,可以多次按Esc键)
  2. 输入:wq enter
    (即冒号,字母w,字母q,输入),这将告诉Vim保存更改并退出)

来自https://blogs.msdn.microsoft.com/kristol/2013/07/02/the-git-command-line-101-for-windows-users/的回复


这非常有帮助!我想知道如何做多行提交消息
thegreatcoder

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.