Avner Cohen : Git - Autocorrect spelling
へー、知らなかった。というわけで紹介。
Gitコマンドを打つ時(いや、Gitに限らないが)、何らかのtypoを犯してしまう事は良くある。
例えば、
git pusj # 本当はpush
勿論Gitに"pusj"なんてコマンドは無いので、本来ならばエラーとなる。
エラーを確認し、正しいコマンドを打ち直すのは何とも面倒だ。しかし、ユーザーが意図していたコマンドを推測し、それを実行するようにGitを設定する事が出来る。
その為にはhelp.autocorrect
を使う。
git config --global help.autocorrect 1
help.autocorrect
の引数は、補完対象のコマンドを実行するまでの待ち時間(0.1秒単位)である。上記の場合であれば0.1秒待つ事を意味する。
先の"pusj"の場合であれば、"push"のtypoである事が推測出来るので、Gitは以下の警告メッセージを出力後、指定の時間だけ待ってから"push
"を実行する。
WARNING: You called a Git command named 'pusj', which does not exist. Continuing under the assumption that you meant 'push' in 0.1 seconds automatically...
(勿論"0.1 seconds
"の部分は、実際にhelp.autocorrect
に設定した値によって変動する。)
待ち時間が在るのは、ユーザーの意図と異なる推測が行われた時に、それを(例えばCTRL-Cで)キャンセル出来るようにする為だろう。
なお、値を0にすると候補の列挙のみ(つまりデフォルトの挙動)、負数にすると待ち時間無しに推測したコマンドを実行する。
因みに私は20
、即ち2秒待機するように設定している。誤った推測をキャンセルする事を考えると、数秒のウェイトは必要ではないかと思う。