ぼくのかんがえたさいきょうのGit Repository Browser
こんなヤツ
デモサイトはこちら http://gitterb.yuroyoro.net/
Gitである程度運用してると、ブランチがいっぱいになっていつどこから生えたのかわからなくなったり、どのブランチがマージされてるか把握できなかったりとかがあると思う。
たとえばgit log --graph とかgit merge-baseとかコマンドで頑張ればいいんだけど、俺はあまり頭良くないし記憶力もないので、コミットのつながりをグラフィカルに表示してほしいと常々思っていたわけ。
たとえばGitXとかgitkとかGit Towerとかのツリー表示って、こんな感じじゃないですか。
これはこれでまぁいいんだけど、この程度ならlog --graphやtigを使えばいいのでわざわざGUI起動するまでもないし、そもそもあんまりグラフィカルじゃない。見たいのは、Pro Gitとかにあるようなコミットを○と矢印でつないだ有向グラフな図なんだよ。
で、あんまりにもないので作った。
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的なイメージで表示してると思え。思え。
フォーカスするブランチを切り替えたいならプルダウンから選べばいいんじゃない?好きにすれば?
○で表示してるのがコミットオブジェクトな。マウス乗せるとコミットログをポップアップさせる。させる。
クリックすると、そのコミットの詳細が出る。ダブルクリックすると消える。以上。
できないこと
複数のリポジトリを切り替えたり- リモートのブランチを出したり(fetchしろ)
- comitしたりpullしたりrebaseしたりpushしたり(そういうのはもっと高機能なGUIツールでやるのがいいとおもいます)