モチベーション
git cloneして各種作業をしているときに、ふとそのレポジトリのgithubを開きたくなることがよくあります。例えば、新しいissueを立てたくなったとか、pull requestをwebから出したくなったなど私はよくあります。ですが複数のレポジトリを扱っていたりすると、今、何というプロジェクトのレポジトリで作業しているのか、branchなのか、forkなのか、をいちいち考えないと適切なgithubページにたどり着けません。
少し面倒だったのでgiturlというgemを作りました。 ![]()
こんな使い方
使い方は至ってシンプルです。引数にURLを知りたいディレクトリを指定するだけ。スペースで区切って複数同時に指定する事もできます。
$ giturl .
https://github.com/shinyaohtani/giturl/lib/
上記は git clone したレポジトリgiturlのlibというディレクトリで作業中に、カレントディレクトリ . に対応するgithubページのURLを表示した例です。
また引数に --open もしくは単に -o を付けるとブラウザでそのURLを開いてくれます。
$ giturl --open .
https://github.com/shinyaohtani/giturl/lib/
この場合、giturlのlibに対応するgithubページ(下記)が開きます。

インストール
今回、多くの人が使いやすいようにRubyGemsで公開しました。なのでgem installで一発です。
$ gem install giturl
しくみ
下記4種類のgitコマンドを呼んでいるだけです。簡単ですが利便性は非常に高いです。
$ git rev-parse --is-inside-work-tree
$ git rev-parse --show-prefix
$ git rev-parse --abbrev-ref HEAD
$ git config --get remote.origin.url
最後に
aliasなど、自前で書く前に一度お試しあれ。