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テキストメイトが存在するかどうかを確認します。


から設定オプションを変更することもできますgit config。変更するオプションは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 vargit help varます。

GIT_EDITOR

gitコマンドで使用するテキスト エディタ。値は、使用時にシェルによって解釈されることを意図しています。例: ~/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 に答える