Git编辑器错误

时间:2012-07-03 12:54:51

标签: git editor git-config

当我尝试运行git rebase -i来压缩我的提交时,我收到以下错误消息:

/usr/libexec/git-core/git-sh-setup: line 112: mate: command not found

git如何查找编辑器? 从git-sh-setup文件中,我只能看到此方法:

git_editor() {                                                                       
    if test -z "${GIT_EDITOR:+set}" 
    then                                                                             
        GIT_EDITOR="$(git var GIT_EDITOR)" || return $?                              
    fi                                                                               
    eval "$GIT_EDITOR" '"$@"'                                                                                                                                                    
} 

2 个答案:

答案 0 :(得分:6)

~/.gitconfig 中有一个设置,如下所示:

[core]
    editor = mate

如果您textmate添加了PATH,则可以将其更改为:editor = mate。 只要确保它已添加到那里。

echo $PATH检查文字是否存在。


您还可以通过git config更改配置选项。 chage的选项是core.editor。例如:

$ git config core.editor        # the current set editor
mate
$ git config core.editor vim    # change editor to vim
$ git config core.editor
vim

要在所有存储库中提供该设置,请将--global标记添加到git config

$ git config --global core.editor <editor-of-choice>

来自git help config联机帮助页:

  

<强> core.editor
    诸如commit和tag之类的命令允许您通过启动编辑器来编辑消息,在设置它时使用此变量的值     未设置环境变量GIT_EDITOR。见git-var(1)。

答案 1 :(得分:0)

正如您在该脚本中看到的那样,它使用git var,根据git help var执行:

  

GIT_EDITOR

     

git命令使用的文本编辑器。该值在使用时由shell解释。示例:~/bin/vi$SOME_ENVIRONMENT_VARIABLE,   "C:\Program Files\Vim\gvim.exe" --nofork

     

首选项顺序是$GIT_EDITOR环境变量,然后是core.editor配置,然后是$VISUAL,然后是$EDITOR,最后是vi