由于空提交消息而中止提交
作为一个新手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相同的窗口中打开,并且似乎已经修复问题。