2011-04-08 50 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 "@"