回答:
新しい機能を求めているようです。Gitはオープンソースであるため、必要に応じて拡張できます。
ソースコードをプルできます。コマンドは、git.c内のcommands []という配列の下で定義されていることがわかります。そして、マッチングは次の関数内で行われているようです:
static struct cmd_struct *get_builtin(const char *s)
{
int i;
for (i = 0; i < ARRAY_SIZE(commands); i++) {
struct cmd_struct *p = commands + i;
if (!strcmp(s, p->cmd))
return p;
}
return NULL;
}
strcmp()の行を変更して、プレフィックスの最小一致を行うことができます。20行以上のコードは必要ないと思います。
gitコマンドのエイリアスの作成に関するすばらしい記事を次に示します。
また、選択したエディターにはgit統合が組み込まれている場合があります。ここに崇高な例があります。gitの組み込みコマンド構造を変更するプラグインはないと思います。
https://scotch.io/tutorials/using-git-inside-of-sublime-text-to-improve-workflow
「新しいコマンドに直面して」—どの新しいコマンドですか?私の意見では、それはあまり頻繁に起こることではなく、それでもあなたが頻繁に使用するコマンドではないでしょう。
Gsh oh-my-zsh
プラグインでZshを使用することをお勧めします。多くの便利なエイリアスを提供します。
もちろん、エイリアスをコピーして貼り付けてBashで使用することもできますが、素晴らしい自動補完機能は失われます。また、ヘルパー関数も必ず定義する必要があります。
git stash l
リストのようなサブコマンドをサポートする、より一般的なものになることを願っています。オプションで有効にできます。