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