Git 重置无法执行编辑器。

9

我正在尝试使用rebase压缩一些git提交记录。当我运行以下命令时:

git rebase -i HEAD

我收到了这个错误信息:
/usr/lib/git-core/git-rebase: 1: eval: /usr/bin/mate: not found
Could not execute editor

我尝试更改git配置编辑器变量,但是我还没有让它起作用。目前我的配置文件显示如下:

[core]
    editor = /usr/bin/vim

我正在使用Ubuntu 13.04操作系统

有什么想法吗?


使用 git reset --hard 'commit' 怎么样? - rakib_
你是否检查了 $GIT_DIR/config~/.gitconfig 两个文件? - trojanfoe
是的,我已经检查了它们两个。 - warder57
3个回答

17

做类似那样的事情

$ git config --global core.editor emacs

在这里,emacs是编辑器的名称。


4

请检查您的环境变量是否设置了GIT_EDITOR。如果设置了,它会覆盖core.editor。


你能详细说明一下吗?我已经在特定项目以及我的系统的git配置文件中添加了editor = /usr/bin/vim,但是没有起作用。这就是你所说的吗?还是我应该寻找其他东西? - warder57
我认为重点在于环境变量GIT_EDITOR可能会覆盖您的项目和/或全局设置,这有时非常有用。 - twalberg
我不认为那是我的问题。这是一个Rails项目,该项目的git配置文件与我的核心文件说的一样。 - warder57
1
你应该检查 env | grep GIT_EDITOR。如果它为空,那么这不是问题所在。我怀疑它不为空,并且被设置为 /usr/bin/mate - John Szakmeister
1
@ruby_newbie 很可能在你的/.bashrc文件中(如果你使用bash作为你的shell)。你可以在该shell中运行“unset GIT_EDITOR”来删除环境变量,但是你需要检查你的/.bashrc并修复它以确保它首先没有被设置。 - John Szakmeister
显示剩余4条评论

0

作为额外的措施,您可以查看sequence.editor配置选项:

[sequence]
    editor = /usr/bin/vim

或者通过 GIT_SEQUENCE_EDITOR=/usr/bin/vim 环境变量来覆盖其行为。

更多细节可以在 git-config.txt-sequenceeditor 找到。


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