( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

ぼくのかんがえたさいきょうのGit Repository Browser

こんなヤツ

デモサイトはこちら http://gitterb.yuroyoro.net/


f:id:yuroyoro:20110707204302p:image:w360

Gitである程度運用してると、ブランチがいっぱいになっていつどこから生えたのかわからなくなったり、どのブランチがマージされてるか把握できなかったりとかがあると思う。
たとえばgit log --graph とかgit merge-baseとかコマンドで頑張ればいいんだけど、俺はあまり頭良くないし記憶力もないので、コミットのつながりをグラフィカルに表示してほしいと常々思っていたわけ。

たとえばGitXとかgitkとかGit Towerとかのツリー表示って、こんな感じじゃないですか。

f:id:yuroyoro:20110707204305p:image:w360

これはこれでまぁいいんだけど、この程度ならlog --graphやtigを使えばいいのでわざわざGUI起動するまでもないし、そもそもあんまりグラフィカルじゃない。見たいのは、Pro Gitとかにあるようなコミットを○と矢印でつないだ有向グラフな図なんだよ。


で、あんまりにもないので作った。

yuroyoro/gitterb · GitHub


Ruby1.9.2とRails3.0.9で動作確認してる。多分Ruby1.8.7/Rails2.3でも動くと思うけど確認してない。

LGPLなライセンスで。テストは、書いてない。pull request歓迎します。

セットアップ

pygementが必要なのでeasy_installでいれろ

 sudo easy_install pygments

Bundler使って依存Gem入れろ

    gem install bundler # if you haven't
    bundle install ./vendor/bundle

config/database.ymlに表示するgitリポジトリを絶対パスで指定しる

    development:
      repository: '/home/your_name/your_repository'

サーバ起動して、'http://localhsost:3000'で表示させり

    script/rails server

使い方的なアレ

とりあえず最初はmasterからさかのぼって100件分のコミットを出す。一緒に、表示されているコミットに到達可能なブランチとそのコミットもだす。これは'all'チェックボックスをoffると消える。
赤い時の四角がブランチで、青いのがtagな。
git log --graph --all的なイメージで表示してると思え。思え。

f:id:yuroyoro:20110707204303p:image


フォーカスするブランチを切り替えたいならプルダウンから選べばいいんじゃない?好きにすれば?


○で表示してるのがコミットオブジェクトな。マウス乗せるとコミットログをポップアップさせる。させる。

f:id:yuroyoro:20110707204304p:image

クリックすると、そのコミットの詳細が出る。ダブルクリックすると消える。以上。

できないこと

  • 複数のリポジトリを切り替えたり
  • リモートのブランチを出したり(fetchしろ)
  • comitしたりpullしたりrebaseしたりpushしたり(そういうのはもっと高機能なGUIツールでやるのがいいとおもいます)