すがブロ

sugamasaoのhatenablogだよ

github 機能まとめ

ちょっとまとめてみる

github って、意外と機能豊富。だもんで、ちょっとどういう機能があるのか、自分が把握している分も含めて、気になる所をまとめてみた。

READMEを上手いこと表示する

リポジトリ直下に README ファイルがあると、 source タブのファイル一覧の下にファイル内容が表示される。
もちろん、普通のテキストファイルでもできるのだけど、その他のフォーマットも可能。
たとえば、sugamasao/atnd4r · GitHub だと、.rdoc の拡張子を付けて rdoc 記法で表記している。

その他の形式として

  • .textile textile 形式
  • .md markdown 形式
  • .png PNGファイル(!)

等が使えます。詳しくはgithub/markup · GitHubを確認すると良いでしょう。
普段なじみがあるのは rdoc 形式なのだけど、そもそも rdoc 記法自体のドキュメントってあまり無くて、ちょっと凝った記法を使おうと思うとすぐに挫折します><

いつでもtags確認

適切に tags を切っていれば、Downloads から zip や tar.gz ファイルをDLできるのだけど、それ以外にも、リポジトリブラウザからも確認できるよ。
目立たないのでわかりにくいのだけど。

どのくらいアクセスあるか知りたいんですけど

Graphs→Traffic でアクセス数(どこのアクセスか、と言った細かい事はわからん)が見れる。できれば、gem install された数とか見れると面白いと思うんだけど。。。

push を他サービスに通知したい

github にログインした状態で Admin タブ→Service Hooksメニューから設定可能です。

ぼくは Twitter に通知を流すようにしているけれど、他にもメールや irc 等があるので、自分のよくつかうサービスがあれば連携してみると良いかも。

issues を自動クローズ*1

Tracとかでいうところの チケットなのだけど、これはコミットログに特定の文字列を突っ込むと自動でクローズしてくれる。

git commit -m "commit message. close #1"

こんな感じで、 close #issues no を記載しておくと、push 時にクローズしてくれる。

その他

使っていないのでよく知らないのですが、Capistrano でのデプロイ方法もドキュメンテーション化されてますね。
Deploying with Capistrano · GitHub Help

今後

github の gh-pages をもうちょっと有効活用するようにしたい。
gh-pages っていうのは、静的な HTML を github 上でホスティングしてくれる機能で、Adminタブの「GitHub Page:」あたりでなんか適当にやると、そのプロジェクト用に専用のスペースを作ってくれる*2
たとえば、Atnd4R の場合は sugamasao/atnd4r @ GitHub のようになる。これはデフォルトで作成されたページなのだけど。。。
で、ここのスペースを使って、ソースから生成した rdoc の HTML を表示するようにしたい。
対象ライブラリ自体をコミットした後に、出来る限りシームレスに gh-pages の方にコミットしに行きたいのだけど、上手いやり方はあるだろうか。
例えば、master 内で rdoc コマンドなりで rdoc ファイルを生成しても。

git checkout -b gh-pages origin/gh-pages

で見れるのは gh-pages で管理してる index.html だけ。 rdoc ファイルを別ディレクトリに退避させて checkout して、というのもクソ面倒だし、かといって常時 master と gh-pages をcheckout してる状態にしたらリポジトリが一緒である意味もあんまり無いし。。。
できるだけ、master でライブラリ修正→rdoc 生成→gh-pages へコミットという流れにしたいんですけど。。。

*1:2010/0508追加

*2:リポジトリ上だと、 gh-pages っていうブランチが作成される