Git提交错误:终端与编辑器冲突

5

我在使用git commit命令时遇到了一些问题。我执行了git commit,但不幸按下了Ctrl+Z而不是Ctrl+X关闭,所以现在当我再次执行git commit时,它会给出以下错误:

error: editor died of signal 11
                           error: There was a problem with the editor 'editor'.   `Please, specific the message using option -m or -F. `

实际上,我不知道如何修复这个错误。 我使用的操作系统是Ubuntu 15.10。

6个回答

23
  1. 进入 .git/ 文件夹
  2. 删除文件 .COMMIT_EDITMSG.swp
注:该操作涉及到 IT 技术。

请在您的答案中添加一些解释。 - André Kool
@AndréKool:我确实遇到了这个问题。我注意到在我遇到问题的模块中,.git文件夹中附加了一个.COMMIT_EDITMSG.swp文件,而在没有发生问题的模块中则没有。因此,删除这个文件后问题得到了解决。 - Nishant Chauhan
由于在git合并过程中终端关闭,留下了交换文件.COMMIT_EDITMSG.swp,我刚遇到了这个问题。简单地将其删除即可解决问题。 - Isaac Gregson
1
这应该是被批准的答案!非常有效。 - Almaron

3

请确保你已经通过git add <files>或者git rm <files>将文件添加到了版本库,然后尝试使用git commit -m "<commit message>"代替打开编辑器。


我没有添加任何文件,只是在终端中使用 git rm <filename> 删除了一个文件。 - Luke Smith

3

很可能您的EDITOR变量已被删除或重置。为了避免现在和将来出现一般问题,请在您的.zshrc.bashrc中设置如下内容:

export EDITOR=$(which vim)


这是答案。 - Sergey Bushmanov

2

请使用以下命令设置git的默认编辑器:

git config --global core.editor "vim"

在这里我设置了Vim编辑器,这将解决你的问题。


2
尝试这个: 这是用于跳过暂存并提交的命令
git commit -a -m "message"

在删除或添加任何文件后,使用以下命令提交:

git commit -m "message"

2

看起来你正在使用nano编辑器。当你按下Ctrl+Z时,你暂停了编辑器(这似乎是会发生的事情)

现在git告诉你你的编辑器已经崩溃了。尝试通过输入fg唤醒nano或使用killall nano杀死进程。


即使重新启动,仍会运行一个你在此会话中未启动的nano进程?奇怪。你知道你的nano是否像vim一样创建任何交换文件吗? - Johannes Thorn
请在重启后运行 ps -A | grep nano 命令。它将列出所有正在运行的进程并在其中搜索 nano。重启后是否有任何 nano 进程? - Johannes Thorn
没有活动的nano进程...在该命令后只会显示一个空行...luke@luke-linux:~$ ps -A | grep nano luke@luke-linux:~$ - Luke Smith
好的,我已经没有更多的想法了。抱歉。 - Johannes Thorn
另一种可能是清除Nano并重新安装它。或者您可以完全切换编辑器。 - Johannes Thorn
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接