GitHubの日本法人ができたそうです。実際に会社でもGitHub Enterprise(GHE)を散々使ってますし、普通のGitHub.comも使っている信者としては、ああいう良い物が広まっていくのは純粋に望ましいと思う。世の中が良い方向に行くのを感じるからね。Pull Request(PR)はもう一般用語になってる感じ。
だいたい今のプロジェクトホスティング世間はGitHubの1強ですよね。使ってみると圧倒的な便利さが分かるんだ実際。今までとはぜんぜん違う。
何が便利って、UIの良さやGFM(GitHub Flavored Markdown)の良さもあるけど、本質的なところでは、彼らはGitHub Flowという絶妙なワークフローを定義したんですね。これが良く出来てる! 開発がやりやすい。issue&トピックブランチ&PR&マージ。これがないと何も始まらないというほど。
まずGitの人がGit Flowというのを考えた。これはブランチの考え方を整理したもので、悪くはないはずなんだけど、ちょっと複雑だった。そこで彗星のように現れたのがシンプルで強力なGitHub Flow。この最強の武器に、issueをブランチに結びつけてPRに変更できるAPIやコマンド(hub)を出してきたり、GFMやgithub.io(GitHub Pages)、gistもそうだけど、初見で使いやすい上に使えば使うほど使いやすく快適に感じる。
まあ、リリースのファイル名とかはうんこだが。
GitHub.comでも、部外者がPRを出しやすいようになってるよね。変更を加えてPR出す人もめんどくさくないし、出される人も普通にレビューしてコメントしてマージする作業に抵抗を感じない。このレビューの仕組みが揃ってるんですよね。
実は今の仕事ではtrac+svnを強要されているんだけど、せっかくGHEあるんだからGHEにして欲しかった…trac+svnだとまずsvnの問題でブランチ作るのが面倒だし、ブランチマージも大変な作業である上にホンモノのリポジトリ上でやるので緊張感が強すぎる。何よりレビューのフローが入ってない。svnだと権限も厳密ゆえにいい加減になるというか、commitできる人しかcommitできないんだよ(←これ当たり前だけどgitでは当たり前ではない制限)。で、挙句、権限あってもcommitしていいか不安になるというね。レビューのフローがないため、マージも自分でやっちゃうことになる。ブランチの削除も面倒なんで、基本ゴミを残しとくよね。で、もろもろめんどくさいのでブランチ作らずに最後までtrunkで作業し続けたりも。
でも、GitHubならこんなことにはならないんだ。