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

作为一个新手git用户,当我尝试提交我的工作

git commit -a -v 

我在我的编辑器中input提交信息,closures文件,并得到这个错误:

 Aborting commit due to empty commit message. 

我已经阅读了几乎所有涉及这个问题的主题,改变了编辑,基本上尝试了一切,但没有任何帮助。 我该怎么办?

有一件事我注意到,而用记事本+ +整个过程,文件无法保存。

一个可能的解决方法是这样的:

 git commit -am "SomeComment" 

但是通过这样做,我觉得我有点使用git的目的。 我想正确logging我的更改。

当你在Git的configuration中设置一个编辑器时,确保传递参数“-w”来强制Git等待你在你的自定义编辑器中input的提交信息。

 git config --global core.editor "[your editor] -w" 

如果您的提交注释是以#字符开头的单行,则会发生此错误。 例如,当我在提交消息文本编辑器窗口中结束以下操作时,出现此错误:

 #122143980 - My commit message was here. The number to the left is a Pivotal Tracker story/ticket number that I was attempting to reference in the commit message. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # On branch [MYBRANCH] # Your branch is up-to-date with 'origin/[MYBRANCH]'. # # Changes to be committed: # modified: [MYFILE1] # modified: [MYFILE2] # 

这个问题当然就是我的提交信息是以#开头的,所以git把这行看作一个注释,结果看到提交信息是空的,因为它只有注释!

解决的办法是用#以外的字符开始我的提交信息。

在我的具体情况下,将Pivotal ID括在方括号中,使git和Pivotal都快乐:

 [#122143980] My commit message here. 

如果你想提交一个正确的(长的,多行的注释)文档,但不想使用-m选项,你可以做什么(以及我在准备提交时做什么 )是:

  • 单独的文件'doc-commit' (或任何你想要调用它的名字)中写下你的文档(当你正在进行修改的时候)
  • 提交' git commit -a -F /path/to/doc-commit ')

简而言之,使用一个单独的文件(可以在你想要的任何path)作为你的提交信息。

我有这个问题。 我刚刚安装了1.8.0,我发现我不得不略微修改上面的内容。 我对这一切都非常陌生,但实质上似乎是,在提交时,至less如果你为content.editor设置了一些东西,它将使用content.editor,而不是core.editor。

所以,是的

 git config --global content.editor "pico -w" 

终于让我承诺! 显然,使用任何你使用的编辑器。

希望这有助于某个人!

没有指定的消息,git不允许提交。 你是否在提交对话框中指定了提交信息?

请注意,以#开头的行被Git视为注释,不被视为注释并被Git忽略。

我也是Git的新手。 我遇到了和你一样的问题。 我解决了这个问题,input:

 git commit -a -m 'some message' 

原因是git不允许没有消息提交。 您必须将一些消息与您的提交命令相关联。

我已经configuration了我的primefaces编辑器

 git config --global core.editor "atom --wait" 

但是当我做到了

 git commit 

当primefaces已经启动,它打开了一个新的标签添加评论,但混帐不等待我保存文件,并立即抛出“中止”消息。 当我closuresprimefaces并试图再犯一次时,git启动了atom,并等待添加注释。

在用于“Sublime”编辑器的Windows机器上,我们也可以在.gitconfig文件中的以下文件夹中添加以下行[YOUR DRIVE LETTER]:/ users / username /

 [core] editor = '[YOUR DRIVE LETTER]:/Program Files/Sublime Text [YOUR VERSION NUMBER]/sublime_text.exe' --wait 

希望能帮助到你。

对于Visual Studio代码

 git config --global core.editor "code -w" 

对于primefaces

 git config --global core.editor "atom -w" 

崇高

 git config --global core.editor "subl -w" 

首先删除旧编辑的条目:

 git config --global --unset-all core.editor git config --unset-all core.editor 

设置你的编辑器:

  • 对于Notepad ++

     git config --global core.editor "Notepad++ -w" git config core.editor "Notepad++ -w" 
  • 崇高

     git config --global core.editor "Notepad++ -w" git config core.editor "subl -w" 

确保确保资金W.

git config –global core.editor“open -a'Sublime Text 2'-W”

或使用以下命令来replace现有的不正常工作。

git config –replace-all core.editor“open -a'Sublime Text 2'-W”

对于Notepad ++(Windows)的评论,请执行以下操作:

1.创build一个batch file(例如c:\ Users \ me \ scripts \ npp.bat)
写在batch file(取决于您的Notepad ++的安装位置):

 "C:\Program Files\Notepad++\notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*" 

2.保存batch file。
3.打开.gitconfig(通常在Windows用户文件夹中)并确保
[核心]部分,你有:

 editor = '"c:\\Users\\me\\scripts\\npp.bat"' 

或者运行:

 git config --global core.editor '"c:\Users\me\scripts\npp.bat"' 

4.现在执行某种types的提交,它会打开Notepad ++,git commit现在将等到记事本++窗口closures。

我通过从打开一个新窗口的花哨的MacVim编辑器切换到/ user / bin / vim中的标准默认vim来修复问题,该文件在与被调用的shell相同的窗口中打开,并且似乎已经修复问题。