1

当我尝试运行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" '"$@"'                                                                                                                                                    
} 
4

2 回答 2

8

~/.gitconfig这样的设置:

[core]
    editor = mate

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

echo $PATH检查 textmate 是否存在。


您还可以通过 更改配置选项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)。

于 2012-07-03T12:57:42.440 回答
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

于 2012-07-03T12:57:50.403 回答