[alias] alias = !"f(){ git config --get-regexp alias|cut -d'.' -f2|if [ -z $1 ];then cut -d' ' -f1|column; else grep $1' '; fi }; f"
.gitconfigに書いたエイリアスの一覧表示と詳細表示のコマンドを表示するエイリアス
使い方:
一覧表示 $ git alias ls alias bomb clean 詳細表示 $ git alias ls ls ls-files -cdmokt --exclude-standard
gitで登録したaliasコマンド一の覧や内容をイイ感じに確認できるようにしてみた
をもとに、少し改造させてもらった。
gitのエイリアスに渡される引数について
gitのエイリアスは コマンド全体に対して引数が渡されるらしい。
[alias] b = !"echo A |cat"
というエイリアスで確認してみると
$ git b A $ git b hoge cat: hoge: No such file or directory
ということで、 パイプでつなげた場合に引数を取得できるのは 最後のコマンドだけ という悲しい実装になってた。
Gitのエイリアスで引数を使う
こちらによると、関数を作ればいけるとあったのでテストしてみる
[alias] c = !"f(){ echo 1=$1, 2=$2, 3=$3; }; f"
というコマンドで実験してみると
$ LANG=C git c A B C 1=A, 2=B, 3=C
ばっちり動作した