はじめに
ご無沙汰しております。
いまだ性懲りもなくGit エイリアスにかまけておりまして、今回はその第2弾の記事となります。
前回の記事では、Git エイリアスを簡単に設定するために編み出したエイリアス(alias.alias
)についてご紹介しました。
ところが、記事を書き終えた後、**わざわざエイリアスにする必要ある?**ということに気付いてしまいまして、新しく作り直しておりました。
というのも、Gitにはパスの通ったディレクトリにある git-
で始まる実行ファイルがサブコマンドとして使えるというハックがあるんですよ(git-flowで有名ですね)
要するに、export PATH="$HOME/bin:$PATH"
なんてときに ~/bin/git-subcommand
という実行ファイルがあれば、なんと git subcommand ...
という風に使えてしまう訳です。
しかも言語によらないので、シェルスクリプトだろうがPythonだろうが、あまつさえC++製の実行ファイルでもOKです。
それならば、git-alias
というサブコマンド形式にしてしまった方が記述の自由度も高いし、メンテも楽だということで、エイリアスをやめてサブコマンドに移行しました。
あと、ついでに git-unalias
も作りました。エイリアスの削除もUnixライクにできます!
ちなみに、相変わらずシェルスクリプトで書いています。
ソースがかなり肥大化してしまったので、最早シェルスクリプトじゃない方が良いかもしれません……。
インストール
https://github.com/khiosorg/git-alias
$ git clone https://github.com/khiosorg/git-alias.git && cd git-alias
$ ./install.sh /usr/local/bin
./install.sh
の引数を変えると、お好みのディレクトリにインストール(要はコピー)できます。省略すると /usr/local/bin
です。
パスを通すのを忘れないでくださいね。
※まだREADME書いてないです。すみません。
README書きました!拙い英語で逆に読みにくいと思います。すみません。
git-alias
$ git alias [-p] [name[=value] ... ]
-
-p
: 一覧表示です。
git-unalias
$ git unalias [-ad] name [name ...]
-
-a
: 全てのエイリアスを削除します。 -
-d
: いわゆるdry runというやつです。
最後に
追加機能のアイデアを色々考えているので(パターンマッチ、正規表現、インタラクティブ等)今後も細々とメンテを続けていく予定です。
たまにGitHubの方をのぞいてみてください笑
あと、git-
型サブコマンドを集めたライブラリとしてgit-extrasを紹介しておきます。
色んなサブコマンドがあるので面白いと思いますよ。
git-alias
もあったりしますが、拙作の方が高機能のはず!笑