【发布时间】:2010-09-21 21:07:54
【问题描述】:
当我尝试执行 git commit -a 时,我得到了一个不错的 vim 实例。我输入我的消息,做:wq,vim 关闭并且终端有消息,
Aborting commit due to empty commit message.
根据this question,我确保我的 core.editor 显示“gvim”(user.editor 也是如此,fwiw),但我仍然收到该错误消息。
有人有其他想法吗?
编辑 1:我能够通过指定文件来提交。我的消息太长,无法合理使用 -m 选项。
编辑 2:
$ git config core.editor
vim
error: More than one value for the key core.editor: vim
error: More than one value for the key core.editor: gvim
编辑 3: 即使对 core.editor 进行了排序,仍然有同样的问题。还有其他想法吗?
$ git config core.editor
gvim -f
$ git commit
Aborting commit due to empty commit message.
编辑 4:
其他错误信息。这就是我所看到的一切。我从我原来的问题中排除了几个,因为我已经在很多机器上得到了它们,其中没有一个在使用 vim/gvim 和 git 时遇到问题(当前的除外)。在此处显示的情况下,core.editor 设置为vim -f。
$ git commit
(gvim:21655): GLib-WARNING **: g_set_prgname() called multiple times
** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed
** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed
** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed
** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed
** (gvim:21655): CRITICAL **: gtk_form_set_static_gravity: assertion `static_gravity_supported' failed
Aborting commit due to empty commit message.
当 core.editor 设置为 gvim -f 时,我得到完全相同的错误消息,只是数字是 21641,而不是 21655。当我用谷歌搜索其中一行时,我没有得到任何匹配项(我觉得很难相信,但是你来了)。
【问题讨论】:
-
它是否适用于
core.editor = vim? -
@mathepic:不。它会生成新的变量,都称为 core.editor,有多种选择。我如何摆脱多余的东西?这肯定会导致问题。
-
回复:您的“编辑 3”。看起来你可能在 core.editor 的值中有一个额外的换行符(
gvim -f和下一个提示符之间不应该有一个空行,除非你的 shell 的提示符把它放在那里)。如果 gvim-started-by-committing 没有为您提供提交模板(通常是一个空行,后面跟着许多信息性的“#comment”行),那么这可能是问题的一部分。从值中删除额外的换行符;重置值注意不要在git config --global core.editor 'gvim -f'的结束引号之前按 Return/Enter。 -
@Chris Johnsen:好眼力。不要认为那是问题所在;这是我从命令提示符中删除不相关内容时复制/粘贴的结果。刚才仔细检查了一下,
gvim -f行后面没有空行,只是另一个提示符。 -
您看到的
21641和21655是进程ID。它们不太可能在搜索结果中出现相同的情况。把这些数字留在外面。