gitで作業中、対応するgithubのページを表示

モチベーション

git cloneして各種作業をしているときに、ふとそのレポジトリのgithubを開きたくなることがよくあります。例えば、新しいissueを立てたくなったとか、pull requestをgithubのwebからやりたくなったなど私はよくあります。複数のレポジトリを扱っていたりすると、今、何というプロジェクトのレポジトリで作業しているのか、branchなのか、forkなのか、をいちいち考えないと適切なgithubページにたどり着けません。

少し面倒だったのでgiturlというgemを作りました。

$ giturl .
https://github.com/shinyaohtani/giturl/lib/


上記は `git clone` したレポジトリで作業中カレントディレクトリ `.` に対応するgithubページのURLを表示した例です。

 引数に `-o` を付けるとブラウザでそのURLを開いてくれます。

$ giturl -o .
https://github.com/shinyaohtani/giturl/lib/
# == ブラウザで上記URLが開きます ===

この場合、下記ページが開きます。

f:id:shinya_ohtani:20200313170508p:plain
対応するgithubページ

インストール

RubyGemsで公開しているので簡単にインストールできます。

$ gem install giturl

以上で使えるようになります。

仕組み

中ではrubyから下記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

最後に

複数引数にも対応しています。一度お試しあれ。