3

質問

Git でエイリアスを作成するためのエイリアス、つまりメタエイリアスを作成できるかどうか知りたいgit config --global alias.ですgit alias

バックグラウンド:

  1. 私はちょうど Bash と Git に熱中しており、最近、このページからforgit cfgや for のgit config --globalようなエイリアスを作成し始めました。git hist

    git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
    
  2. この最後の例は、次のように入力して設定します。

    git config --global alias.hist 'log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short'
    
  3. 私のgit cfgエイリアスを使用すると、次のように短縮できます。

    git cfg alias.hist 'log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short'
    

しかし、一部は利便性から、一部は好奇心から、一部はGitとBash全般についてもっと学びたいという欲求から、さらに短くできるかどうかを理解しようとしていgit cfg alias.ます.git alias

試みられた解決策?:

  1. git $(echo 'cfg')を呼び出して、 と同じ結果を得ることができることがわかりましたgit cfg

  2. だから私はこれを入力してエイリアスを作成しようとしましたalias:

    git cfg alias.alias '$(echo "config --global alias.")'
    

    git alias st statusのクイックエイリアスを作成するgit stようなものを入力できることを期待してgit status.

  3. . _ $(echo_ また、実行されたエコーからの例に直接追加する必要があることを考えると、このようなものgit $(echo 'cfg')機能するかどうかもわかりません。stalias.

これを可能にする方法について何か提案はありますか?

4

1 に答える 1

2

git wikiから:

Now that you know all about aliases, it might be handy to define some, using an alias:

    [alias]
            alias = "!sh -c '[ $# = 2 ] && git config --global alias.\"$1\" \"$2\" && exit 0 || echo \"usage: git alias <new alias> <original command>\" >&2 && exit 1' -"

then define new aliases with:

    $ git alias new_alias original_command

[ $# = 2 ]は、引数の数が 2 の場合に true になるシェル式です。

構造は次のようになります。

not <shell cmd> AND exit 0 OR <display syntax> AND exit 1

引数の数が 2 で、git が成功を返した場合、成功 (0) を返す場合のシェル言語はどれですか。そうでない場合は、構文エラー メッセージを出力し、failure (1) を返します。

于 2013-05-05T13:22:46.773 に答える