Gitを触ってみるよ その7「GitHubに公式ITSが登場」

Gitは非常に優れたバージョン管理システムではあるものの、BTS(Bug Tracking System)/ITS(Issue Tracking System)との連携はまだいまいちだなぁ、と個人的に思っていたんですが、GitHubに公式にITSの機能が追加されたようで、ちょっと触ってみました。

GitHub Issue Tracker! - The GitHub Blog

今回はお試しなので、適当な空リポジトリを作って、それを使ってIssueの自動クローズなんかを体験してみたいと思います。

実験用リポジトリを作成する

GitHubにログインして、"Create a Repository"で新規リポジトリを作成して、後は表示される手順に従って作業を進めます。具体的には以下のような感じ。

$ mkdir its-test
$ cd its-test
$ git init
$ echo 'マージできたよ!!?' > README
$ git add README
$ git commit -m 'first commit'
$ git remote add github git@github.com:stellaqua/its-test.git
$ git push github master

こういった、次に何をすればいいのかという手順をちゃんと示してくれるのが、GitHubの素晴らしいところですな。

ITSにIssueを登録する

GitHubの画面に戻って、今作成したリポジトリの"Issues"タグを見てみます。

"Create Issue"のボタンを押して、いくつかIssueを作成してみます。

作成したIssueの一覧表示はこんな感じ。デフォルトだとPriorityでソートされています。*1

タグ付け(Labels)も自由にできて、タグによる一覧表示の絞込みもできるので、機能群毎にIssueをグループ分けしたりすると便利かもしれないですね。*2

コミット時にIssueを自動クローズしてみる

Track & Subversionでよくやるような、コミット時の自動クローズにも対応しています。

$ echo 'やぁ、ぎっとたん。githubにあげてよ!' >>README
$ git add README
$ git commit -m 'Add 2nd message.Close #1'
$ git push github master

コミットメッセージにIssueの番号を入れておくと、コミット時に該当Issueが自動的にクローズされます。

ちゃんとステータスがClosedになりましたね。

では、残ったIssueも片付けてしまいましょう。

$ echo 'もうpushしてるよ' >>README
$ git add README
$ git commit -m 'Add 3rd message.Close #2'
$ echo 'くろーん(´・ω・`)' >>README
$ git add README
$ git commit -m 'Add last message.Close #3'
$ git push github master

という事で、今回のプロジェクトは無事に完遂できました。めでたし、めでたし。

使ってみた感触とか

Trackみたいに機能が豊富って訳ではないですが、逆にシンプルな分、結構お手軽に使えて良い感じですね。

実際使う時は、Issue毎にブランチを切って、masterにマージする時に該当Issueをクローズする…ってやるのが良さそうな気がします。

世間的にもGit熱は益々過熱しているようなので、Gitの今後の動向から目が離せませんね!

余談

今回サンプルとして作成したREADMEのセリフは、以下のトコの漫画から拝借させてもらいました。

くろーん - #生存戦略 、それは - subtech

どうにも「くろーん…」が可愛すぎて、どうしてもネタにしたかったんです。(笑)

やっぱりCDD(Character Driven Development:キャラクター駆動開発)って大事ですよね。( ̄ー ̄) これで、"Git"の読み方が"ぎっと"だという事が広まってくれる事を願いつつ、今回のGitネタはこの辺で…。

*1:Priorityがどこで設定できるのかは分かりませんでした…。

*2:元記事の紹介ビデオを見るとLabelに色を指定する事ができるようなのですが、Operaだと対応していないのか色指定できませんでした。使えなかったのがブラウザのせいなのかどうかは調べた訳じゃないので不明です…。